@kaspernj/api-maker 1.0.2160 → 1.0.2161
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/build/api.d.ts +46 -34
- package/build/api.d.ts.map +1 -1
- package/build/api.js +32 -25
- package/build/attribute-not-loaded-error.d.ts.map +1 -1
- package/build/attribute-not-loaded-error.js +2 -1
- package/build/base-error.d.ts +49 -60
- package/build/base-error.d.ts.map +1 -1
- package/build/base-error.js +3 -2
- package/build/base-model/column.d.ts +2 -2
- package/build/base-model/column.d.ts.map +1 -1
- package/build/base-model/column.js +3 -2
- package/build/base-model/reflection.d.ts +8 -3
- package/build/base-model/reflection.d.ts.map +1 -1
- package/build/base-model/reflection.js +8 -3
- package/build/base-model/scope.d.ts +1 -1
- package/build/base-model/scope.d.ts.map +1 -1
- package/build/base-model/scope.js +3 -2
- package/build/base-model.d.ts +3801 -117
- package/build/base-model.d.ts.map +1 -1
- package/build/base-model.js +271 -143
- package/build/bootstrap/attribute-row.d.ts +12 -0
- package/build/bootstrap/attribute-row.d.ts.map +1 -1
- package/build/bootstrap/attribute-row.js +23 -5
- package/build/bootstrap/attribute-rows.d.ts +8 -0
- package/build/bootstrap/attribute-rows.d.ts.map +1 -1
- package/build/bootstrap/attribute-rows.js +14 -5
- package/build/bootstrap/card.d.ts +17 -0
- package/build/bootstrap/card.d.ts.map +1 -1
- package/build/bootstrap/card.js +30 -10
- package/build/bootstrap/checkbox.d.ts +16 -0
- package/build/bootstrap/checkbox.d.ts.map +1 -1
- package/build/bootstrap/checkbox.js +20 -2
- package/build/bootstrap/checkboxes.d.ts +31 -0
- package/build/bootstrap/checkboxes.d.ts.map +1 -1
- package/build/bootstrap/checkboxes.js +35 -3
- package/build/bootstrap/index.js +2 -1
- package/build/bootstrap/input.d.ts +24 -0
- package/build/bootstrap/input.d.ts.map +1 -1
- package/build/bootstrap/input.js +27 -2
- package/build/bootstrap/invalid-feedback.d.ts.map +1 -1
- package/build/bootstrap/invalid-feedback.js +2 -1
- package/build/bootstrap/paginate.d.ts +5 -0
- package/build/bootstrap/paginate.d.ts.map +1 -1
- package/build/bootstrap/paginate.js +9 -4
- package/build/bootstrap/radio-buttons.js +2 -1
- package/build/bootstrap/select.js +2 -1
- package/build/bootstrap/sort-link.d.ts +10 -0
- package/build/bootstrap/sort-link.d.ts.map +1 -1
- package/build/bootstrap/sort-link.js +15 -4
- package/build/cable-connection-pool.d.ts +201 -24
- package/build/cable-connection-pool.d.ts.map +1 -1
- package/build/cable-connection-pool.js +76 -16
- package/build/cable-subscription-pool.d.ts +186 -20
- package/build/cable-subscription-pool.d.ts.map +1 -1
- package/build/cable-subscription-pool.js +61 -22
- package/build/cable-subscription.d.ts.map +1 -1
- package/build/cable-subscription.js +3 -2
- package/build/cache-key-generator.d.ts +194 -20
- package/build/cache-key-generator.d.ts.map +1 -1
- package/build/cache-key-generator.js +63 -12
- package/build/can-can.d.ts +146 -29
- package/build/can-can.d.ts.map +1 -1
- package/build/can-can.js +105 -19
- package/build/channels-consumer.d.ts +23 -1
- package/build/channels-consumer.d.ts.map +1 -1
- package/build/channels-consumer.js +26 -8
- package/build/collection-loader.js +2 -1
- package/build/collection.d.ts +361 -370
- package/build/collection.d.ts.map +1 -1
- package/build/collection.js +59 -19
- package/build/command-execution.d.ts +50 -26
- package/build/command-execution.d.ts.map +1 -1
- package/build/command-execution.js +31 -13
- package/build/command-submit-data.d.ts +50 -37
- package/build/command-submit-data.d.ts.map +1 -1
- package/build/command-submit-data.js +35 -22
- package/build/commands-pool.d.ts +65 -27
- package/build/commands-pool.d.ts.map +1 -1
- package/build/commands-pool.js +67 -20
- package/build/compose.d.ts +8 -2
- package/build/compose.d.ts.map +1 -1
- package/build/compose.js +9 -2
- package/build/config.d.ts +31 -15
- package/build/config.d.ts.map +1 -1
- package/build/config.js +60 -23
- package/build/custom-error.d.ts.map +1 -1
- package/build/custom-error.js +2 -1
- package/build/data-set-to-attributes.d.ts +14 -2
- package/build/data-set-to-attributes.d.ts.map +1 -1
- package/build/data-set-to-attributes.js +12 -3
- package/build/deserializer.d.ts +116 -2
- package/build/deserializer.d.ts.map +1 -1
- package/build/deserializer.js +13 -2
- package/build/destroy-error.d.ts.map +1 -1
- package/build/destroy-error.js +2 -1
- package/build/devise.d.ts +638 -39
- package/build/devise.d.ts.map +1 -1
- package/build/devise.js +97 -28
- package/build/draggable-sort/controller.d.ts +126 -35
- package/build/draggable-sort/controller.d.ts.map +1 -1
- package/build/draggable-sort/controller.js +100 -28
- package/build/draggable-sort/index.d.ts +55 -0
- package/build/draggable-sort/index.d.ts.map +1 -1
- package/build/draggable-sort/index.js +71 -3
- package/build/draggable-sort/item.d.ts +54 -0
- package/build/draggable-sort/item.d.ts.map +1 -1
- package/build/draggable-sort/item.js +94 -6
- package/build/error-logger.d.ts +30 -14
- package/build/error-logger.d.ts.map +1 -1
- package/build/error-logger.js +22 -11
- package/build/event-connection.d.ts.map +1 -1
- package/build/event-connection.js +3 -2
- package/build/event-emitter-listener.d.ts.map +1 -1
- package/build/event-emitter-listener.js +2 -1
- package/build/event-model-class.d.ts.map +1 -1
- package/build/event-model-class.js +2 -1
- package/build/events.d.ts.map +1 -1
- package/build/events.js +2 -1
- package/build/form.d.ts +23 -0
- package/build/form.d.ts.map +1 -1
- package/build/form.js +16 -4
- package/build/history-expo.d.ts +6 -2
- package/build/history-expo.d.ts.map +1 -1
- package/build/history-expo.js +5 -2
- package/build/history-react-native.d.ts +6 -2
- package/build/history-react-native.d.ts.map +1 -1
- package/build/history-react-native.js +5 -2
- package/build/history.js +2 -1
- package/build/index.d.ts.map +1 -1
- package/build/index.js +2 -1
- package/build/inputs/attachment.d.ts +11 -0
- package/build/inputs/attachment.d.ts.map +1 -1
- package/build/inputs/attachment.js +17 -4
- package/build/inputs/auto-submit.d.ts +41 -13
- package/build/inputs/auto-submit.d.ts.map +1 -1
- package/build/inputs/auto-submit.js +16 -4
- package/build/inputs/checkbox.d.ts +15 -0
- package/build/inputs/checkbox.d.ts.map +1 -1
- package/build/inputs/checkbox.js +22 -6
- package/build/inputs/checkboxes.d.ts +16 -0
- package/build/inputs/checkboxes.d.ts.map +1 -1
- package/build/inputs/checkboxes.js +20 -4
- package/build/inputs/id-for-component.d.ts +21 -2
- package/build/inputs/id-for-component.d.ts.map +1 -1
- package/build/inputs/id-for-component.js +9 -2
- package/build/inputs/input-wrapper.d.ts.map +1 -1
- package/build/inputs/input-wrapper.js +2 -1
- package/build/inputs/input.d.ts +36 -0
- package/build/inputs/input.d.ts.map +1 -1
- package/build/inputs/input.js +26 -7
- package/build/inputs/money.d.ts +2 -0
- package/build/inputs/money.d.ts.map +1 -1
- package/build/inputs/money.js +6 -3
- package/build/inputs/name-for-component.d.ts +21 -2
- package/build/inputs/name-for-component.d.ts.map +1 -1
- package/build/inputs/name-for-component.js +9 -2
- package/build/inputs/select.d.ts +33 -0
- package/build/inputs/select.d.ts.map +1 -1
- package/build/inputs/select.js +21 -4
- package/build/instance-of-class-name.d.ts +7 -2
- package/build/instance-of-class-name.d.ts.map +1 -1
- package/build/instance-of-class-name.js +8 -4
- package/build/is-expo.d.ts.map +1 -1
- package/build/is-expo.js +2 -1
- package/build/key-value-store.d.ts +24 -14
- package/build/key-value-store.d.ts.map +1 -1
- package/build/key-value-store.js +22 -12
- package/build/link.d.ts +30 -0
- package/build/link.d.ts.map +1 -1
- package/build/link.js +76 -30
- package/build/logger.d.ts +10 -6
- package/build/logger.d.ts.map +1 -1
- package/build/logger.js +7 -4
- package/build/merge-styles.d.ts +10 -2
- package/build/merge-styles.d.ts.map +1 -1
- package/build/merge-styles.js +10 -3
- package/build/modal.d.ts +2 -0
- package/build/modal.d.ts.map +1 -1
- package/build/modal.js +6 -4
- package/build/model-class-require.d.ts +4 -2
- package/build/model-class-require.d.ts.map +1 -1
- package/build/model-class-require.js +4 -2
- package/build/model-events.d.ts +139 -346
- package/build/model-events.d.ts.map +1 -1
- package/build/model-events.js +21 -9
- package/build/model-name.d.ts +21 -7
- package/build/model-name.d.ts.map +1 -1
- package/build/model-name.js +12 -2
- package/build/model-prop-type.d.ts +533 -26
- package/build/model-prop-type.d.ts.map +1 -1
- package/build/model-prop-type.js +69 -11
- package/build/model-recipes-loader.d.ts +7 -3
- package/build/model-recipes-loader.d.ts.map +1 -1
- package/build/model-recipes-loader.js +4 -2
- package/build/model-recipes-model-loader.d.ts +189 -1493
- package/build/model-recipes-model-loader.d.ts.map +1 -1
- package/build/model-recipes-model-loader.js +119 -17
- package/build/models-response-reader.d.ts +600 -195
- package/build/models-response-reader.d.ts.map +1 -1
- package/build/models-response-reader.js +12 -4
- package/build/models.d.ts +438 -1
- package/build/models.d.ts.map +1 -1
- package/build/models.js +2 -1
- package/build/money-formatter.d.ts +25 -31
- package/build/money-formatter.d.ts.map +1 -1
- package/build/money-formatter.js +11 -8
- package/build/not-loaded-error.d.ts.map +1 -1
- package/build/not-loaded-error.js +2 -1
- package/build/params.d.ts +25 -17
- package/build/params.d.ts.map +1 -1
- package/build/params.js +19 -15
- package/build/preloaded.d.ts +61 -64
- package/build/preloaded.d.ts.map +1 -1
- package/build/preloaded.js +10 -4
- package/build/reset-realtime-runtime-state.d.ts.map +1 -1
- package/build/reset-realtime-runtime-state.js +2 -1
- package/build/resize-observer.d.ts.map +1 -1
- package/build/resize-observer.js +2 -1
- package/build/rest-props-validator.d.ts +2 -2
- package/build/rest-props-validator.d.ts.map +1 -1
- package/build/rest-props-validator.js +3 -2
- package/build/result.d.ts +142 -175
- package/build/result.d.ts.map +1 -1
- package/build/result.js +3 -2
- package/build/router/route.d.ts +50 -0
- package/build/router/route.d.ts.map +1 -1
- package/build/router/route.js +39 -10
- package/build/router/switch.d.ts +37 -1
- package/build/router/switch.d.ts.map +1 -1
- package/build/router/switch.js +29 -7
- package/build/router.d.ts +20 -0
- package/build/router.d.ts.map +1 -1
- package/build/router.js +15 -4
- package/build/routes-native.d.ts +13 -13
- package/build/routes-native.d.ts.map +1 -1
- package/build/routes-native.js +23 -11
- package/build/routes.d.ts +17 -9
- package/build/routes.d.ts.map +1 -1
- package/build/routes.js +7 -2
- package/build/run-last.d.ts.map +1 -1
- package/build/run-last.js +2 -1
- package/build/serializer.d.ts +44 -12
- package/build/serializer.d.ts.map +1 -1
- package/build/serializer.js +36 -7
- package/build/services.d.ts +29 -4
- package/build/services.d.ts.map +1 -1
- package/build/services.js +16 -4
- package/build/session-status-updater.d.ts +73 -25
- package/build/session-status-updater.d.ts.map +1 -1
- package/build/session-status-updater.js +52 -14
- package/build/source-maps-loader.d.ts +88 -33
- package/build/source-maps-loader.d.ts.map +1 -1
- package/build/source-maps-loader.js +74 -18
- package/build/super-admin/config-reader.d.ts.map +1 -1
- package/build/super-admin/config-reader.js +11 -16
- package/build/super-admin/edit-page/edit-attribute-checkbox.d.ts +10 -0
- package/build/super-admin/edit-page/edit-attribute-checkbox.d.ts.map +1 -1
- package/build/super-admin/edit-page/edit-attribute-checkbox.js +16 -4
- package/build/super-admin/edit-page/edit-attribute-content.d.ts +9 -0
- package/build/super-admin/edit-page/edit-attribute-content.d.ts.map +1 -1
- package/build/super-admin/edit-page/edit-attribute-content.js +15 -4
- package/build/super-admin/edit-page/edit-attribute-input.d.ts +8 -0
- package/build/super-admin/edit-page/edit-attribute-input.d.ts.map +1 -1
- package/build/super-admin/edit-page/edit-attribute-input.js +13 -4
- package/build/super-admin/edit-page/edit-attribute.d.ts +6 -0
- package/build/super-admin/edit-page/edit-attribute.d.ts.map +1 -1
- package/build/super-admin/edit-page/edit-attribute.js +11 -4
- package/build/super-admin/edit-page.d.ts +5 -0
- package/build/super-admin/edit-page.d.ts.map +1 -1
- package/build/super-admin/edit-page.js +11 -5
- package/build/super-admin/has-edit-config.d.ts.map +1 -1
- package/build/super-admin/has-edit-config.js +2 -1
- package/build/super-admin/index-page.d.ts +4 -0
- package/build/super-admin/index-page.d.ts.map +1 -1
- package/build/super-admin/index-page.js +9 -4
- package/build/super-admin/index.d.ts +4 -0
- package/build/super-admin/index.d.ts.map +1 -1
- package/build/super-admin/index.js +12 -6
- package/build/super-admin/layout/header/index.d.ts +4 -0
- package/build/super-admin/layout/header/index.d.ts.map +1 -1
- package/build/super-admin/layout/header/index.js +13 -8
- package/build/super-admin/layout/index.d.ts +24 -0
- package/build/super-admin/layout/index.d.ts.map +1 -1
- package/build/super-admin/layout/index.js +33 -5
- package/build/super-admin/layout/menu/index.d.ts +2 -0
- package/build/super-admin/layout/menu/index.d.ts.map +1 -1
- package/build/super-admin/layout/menu/index.js +8 -6
- package/build/super-admin/layout/menu/menu-content.d.ts +2 -0
- package/build/super-admin/layout/menu/menu-content.d.ts.map +1 -1
- package/build/super-admin/layout/menu/menu-content.js +6 -4
- package/build/super-admin/layout/menu/menu-item.d.ts +9 -0
- package/build/super-admin/layout/menu/menu-item.d.ts.map +1 -1
- package/build/super-admin/layout/menu/menu-item.js +15 -4
- package/build/super-admin/layout/no-access.d.ts +2 -0
- package/build/super-admin/layout/no-access.d.ts.map +1 -1
- package/build/super-admin/layout/no-access.js +7 -5
- package/build/super-admin/model-class-table.d.ts +4 -0
- package/build/super-admin/model-class-table.d.ts.map +1 -1
- package/build/super-admin/model-class-table.js +9 -4
- package/build/super-admin/models.d.ts.map +1 -1
- package/build/super-admin/models.js +2 -1
- package/build/super-admin/show-nav.d.ts +2 -0
- package/build/super-admin/show-nav.d.ts.map +1 -1
- package/build/super-admin/show-nav.js +6 -4
- package/build/super-admin/show-page/belongs-to-attribute-row.d.ts +17 -1
- package/build/super-admin/show-page/belongs-to-attribute-row.d.ts.map +1 -1
- package/build/super-admin/show-page/belongs-to-attribute-row.js +14 -5
- package/build/super-admin/show-page/index.d.ts +4 -0
- package/build/super-admin/show-page/index.d.ts.map +1 -1
- package/build/super-admin/show-page/index.js +9 -4
- package/build/super-admin/show-reflection-actions.d.ts +6 -0
- package/build/super-admin/show-reflection-actions.d.ts.map +1 -1
- package/build/super-admin/show-reflection-actions.js +11 -4
- package/build/super-admin/show-reflection-link.d.ts +4 -0
- package/build/super-admin/show-reflection-link.d.ts.map +1 -1
- package/build/super-admin/show-reflection-link.js +9 -4
- package/build/super-admin/show-reflection-page.d.ts +5 -0
- package/build/super-admin/show-reflection-page.d.ts.map +1 -1
- package/build/super-admin/show-reflection-page.js +10 -4
- package/build/table/column-content.d.ts +155 -19
- package/build/table/column-content.d.ts.map +1 -1
- package/build/table/column-content.js +55 -12
- package/build/table/column-identifier.d.ts +11 -2
- package/build/table/column-identifier.d.ts.map +1 -1
- package/build/table/column-identifier.js +7 -2
- package/build/table/column-visible.d.ts +11 -2
- package/build/table/column-visible.d.ts.map +1 -1
- package/build/table/column-visible.js +8 -2
- package/build/table/components/column.d.ts +2 -0
- package/build/table/components/column.d.ts.map +1 -1
- package/build/table/components/column.js +6 -4
- package/build/table/components/flat-list.d.ts +2 -0
- package/build/table/components/flat-list.d.ts.map +1 -1
- package/build/table/components/flat-list.js +6 -4
- package/build/table/components/header.d.ts +2 -0
- package/build/table/components/header.d.ts.map +1 -1
- package/build/table/components/header.js +6 -4
- package/build/table/components/row.d.ts +2 -0
- package/build/table/components/row.d.ts.map +1 -1
- package/build/table/components/row.js +6 -4
- package/build/table/filters/attribute-element.d.ts +2 -0
- package/build/table/filters/attribute-element.d.ts.map +1 -1
- package/build/table/filters/attribute-element.js +7 -7
- package/build/table/filters/filter-form.d.ts +58 -0
- package/build/table/filters/filter-form.d.ts.map +1 -1
- package/build/table/filters/filter-form.js +72 -9
- package/build/table/filters/filter.d.ts +2 -0
- package/build/table/filters/filter.d.ts.map +1 -1
- package/build/table/filters/filter.js +6 -4
- package/build/table/filters/index.d.ts +127 -0
- package/build/table/filters/index.d.ts.map +1 -1
- package/build/table/filters/index.js +21 -4
- package/build/table/filters/load-search-modal.d.ts +130 -0
- package/build/table/filters/load-search-modal.d.ts.map +1 -1
- package/build/table/filters/load-search-modal.js +28 -6
- package/build/table/filters/reflection-element.d.ts +2 -0
- package/build/table/filters/reflection-element.d.ts.map +1 -1
- package/build/table/filters/reflection-element.js +6 -4
- package/build/table/filters/save-search-modal.d.ts +134 -0
- package/build/table/filters/save-search-modal.d.ts.map +1 -1
- package/build/table/filters/save-search-modal.js +36 -5
- package/build/table/filters/scope-element.d.ts +6 -0
- package/build/table/filters/scope-element.d.ts.map +1 -1
- package/build/table/filters/scope-element.js +13 -8
- package/build/table/header-column-content.d.ts +7 -0
- package/build/table/header-column-content.d.ts.map +1 -1
- package/build/table/header-column-content.js +12 -4
- package/build/table/header-column.d.ts +50 -0
- package/build/table/header-column.d.ts.map +1 -1
- package/build/table/header-column.js +32 -5
- package/build/table/header-select.d.ts +18 -0
- package/build/table/header-select.d.ts.map +1 -1
- package/build/table/header-select.js +19 -4
- package/build/table/model-callback-args.d.ts +116 -3
- package/build/table/model-callback-args.d.ts.map +1 -1
- package/build/table/model-callback-args.js +10 -3
- package/build/table/model-column.d.ts +136 -0
- package/build/table/model-column.d.ts.map +1 -1
- package/build/table/model-column.js +27 -4
- package/build/table/model-row.d.ts +19 -0
- package/build/table/model-row.d.ts.map +1 -1
- package/build/table/model-row.js +24 -4
- package/build/table/select-calculator.d.ts +37 -2
- package/build/table/select-calculator.d.ts.map +1 -1
- package/build/table/select-calculator.js +29 -6
- package/build/table/settings/column-row.d.ts +6 -0
- package/build/table/settings/column-row.d.ts.map +1 -1
- package/build/table/settings/column-row.js +13 -12
- package/build/table/settings/download-action.d.ts +5 -0
- package/build/table/settings/download-action.d.ts.map +1 -1
- package/build/table/settings/download-action.js +10 -4
- package/build/table/settings/index.d.ts +5 -0
- package/build/table/settings/index.d.ts.map +1 -1
- package/build/table/settings/index.js +10 -4
- package/build/table/should-render-loading-content.d.ts +2 -2
- package/build/table/should-render-loading-content.d.ts.map +1 -1
- package/build/table/should-render-loading-content.js +3 -2
- package/build/table/table-settings.d.ts +236 -43
- package/build/table/table-settings.d.ts.map +1 -1
- package/build/table/table-settings.js +104 -20
- package/build/table/table.d.ts +271 -0
- package/build/table/table.d.ts.map +1 -1
- package/build/table/table.js +167 -16
- package/build/table/use-sorting.d.ts +10 -8
- package/build/table/use-sorting.d.ts.map +1 -1
- package/build/table/use-sorting.js +16 -8
- package/build/table/widths.d.ts +55 -8
- package/build/table/widths.d.ts.map +1 -1
- package/build/table/widths.js +25 -2
- package/build/table/worker-plugins-check-all-checkbox.d.ts +18 -0
- package/build/table/worker-plugins-check-all-checkbox.d.ts.map +1 -1
- package/build/table/worker-plugins-check-all-checkbox.js +25 -5
- package/build/table/worker-plugins-checkbox.d.ts +5 -0
- package/build/table/worker-plugins-checkbox.d.ts.map +1 -1
- package/build/table/worker-plugins-checkbox.js +10 -4
- package/build/translated-attributes.d.ts +7 -2
- package/build/translated-attributes.d.ts.map +1 -1
- package/build/translated-attributes.js +8 -2
- package/build/translated-collections.d.ts +11 -2
- package/build/translated-collections.d.ts.map +1 -1
- package/build/translated-collections.js +9 -3
- package/build/updated-attribute.d.ts.map +1 -1
- package/build/updated-attribute.js +2 -1
- package/build/url-encode.d.ts.map +1 -1
- package/build/url-encode.js +2 -1
- package/build/use-can-can.d.ts +2 -2
- package/build/use-can-can.d.ts.map +1 -1
- package/build/use-can-can.js +27 -12
- package/build/use-collection.d.ts +167 -121
- package/build/use-collection.d.ts.map +1 -1
- package/build/use-collection.js +113 -44
- package/build/use-created-event.d.ts +120 -11
- package/build/use-created-event.d.ts.map +1 -1
- package/build/use-created-event.js +10 -7
- package/build/use-current-user-context.d.ts +2 -2
- package/build/use-current-user-context.d.ts.map +1 -1
- package/build/use-current-user-context.js +3 -2
- package/build/use-current-user.d.ts +86 -70
- package/build/use-current-user.d.ts.map +1 -1
- package/build/use-current-user.js +36 -8
- package/build/use-destroyed-event.d.ts +117 -8
- package/build/use-destroyed-event.d.ts.map +1 -1
- package/build/use-destroyed-event.js +29 -22
- package/build/use-input.d.ts +74 -12
- package/build/use-input.d.ts.map +1 -1
- package/build/use-input.js +33 -5
- package/build/use-model-class-event.d.ts +124 -10
- package/build/use-model-class-event.d.ts.map +1 -1
- package/build/use-model-class-event.js +26 -16
- package/build/use-model-event.d.ts +121 -8
- package/build/use-model-event.d.ts.map +1 -1
- package/build/use-model-event.js +24 -19
- package/build/use-model.d.ts +162 -244
- package/build/use-model.d.ts.map +1 -1
- package/build/use-model.js +85 -32
- package/build/use-resize-observer.d.ts.map +1 -1
- package/build/use-resize-observer.js +2 -1
- package/build/use-router.d.ts.map +1 -1
- package/build/use-router.js +2 -1
- package/build/use-screen-layout.d.ts +7 -2
- package/build/use-screen-layout.d.ts.map +1 -1
- package/build/use-screen-layout.js +8 -5
- package/build/use-shape.js +2 -1
- package/build/use-styles.d.ts +11 -5
- package/build/use-styles.d.ts.map +1 -1
- package/build/use-styles.js +16 -9
- package/build/use-updated-event.d.ts +66 -182
- package/build/use-updated-event.d.ts.map +1 -1
- package/build/use-updated-event.js +22 -18
- package/build/use-validation-errors.d.ts.map +1 -1
- package/build/use-validation-errors.js +2 -1
- package/build/utils/button.d.ts +14 -0
- package/build/utils/button.d.ts.map +1 -1
- package/build/utils/button.js +24 -7
- package/build/utils/card.d.ts +9 -0
- package/build/utils/card.d.ts.map +1 -1
- package/build/utils/card.js +13 -2
- package/build/utils/checkbox.d.ts +12 -0
- package/build/utils/checkbox.d.ts.map +1 -1
- package/build/utils/checkbox.js +18 -4
- package/build/utils/checkboxes.d.ts +25 -0
- package/build/utils/checkboxes.d.ts.map +1 -1
- package/build/utils/checkboxes.js +29 -3
- package/build/utils/default-style.d.ts +10 -4
- package/build/utils/default-style.d.ts.map +1 -1
- package/build/utils/default-style.js +12 -4
- package/build/utils/header.d.ts +6 -1
- package/build/utils/header.d.ts.map +1 -1
- package/build/utils/header.js +4 -2
- package/build/utils/icon.d.ts +7 -6
- package/build/utils/icon.d.ts.map +1 -1
- package/build/utils/icon.js +12 -11
- package/build/utils/invalid-feedback.d.ts +4 -0
- package/build/utils/invalid-feedback.d.ts.map +1 -1
- package/build/utils/invalid-feedback.js +8 -2
- package/build/utils/modal.d.ts +2 -0
- package/build/utils/modal.d.ts.map +1 -1
- package/build/utils/modal.js +9 -7
- package/build/utils/text.d.ts +8 -1
- package/build/utils/text.d.ts.map +1 -1
- package/build/utils/text.js +9 -2
- package/build/validation-error.d.ts +5 -2
- package/build/validation-error.d.ts.map +1 -1
- package/build/validation-error.js +5 -2
- package/build/validation-errors.d.ts +57 -15
- package/build/validation-errors.d.ts.map +1 -1
- package/build/validation-errors.js +37 -8
- package/build/websocket-request-client.d.ts +61 -15
- package/build/websocket-request-client.d.ts.map +1 -1
- package/build/websocket-request-client.js +35 -9
- package/build/with-api-maker.d.ts.map +1 -1
- package/build/with-api-maker.js +2 -1
- package/build/with-collection.d.ts.map +1 -1
- package/build/with-collection.js +2 -1
- package/build/with-current-user.d.ts.map +1 -1
- package/build/with-current-user.js +2 -1
- package/build/with-model.d.ts.map +1 -1
- package/build/with-model.js +2 -1
- package/build/with-router.d.ts.map +1 -1
- package/build/with-router.js +2 -1
- package/package.json +4 -3
- package/build/base-component.d.ts +0 -5
- package/build/base-component.d.ts.map +0 -1
- package/build/base-component.js +0 -4
package/build/router/route.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
// @ts-check
|
|
2
3
|
/* eslint-disable react/jsx-max-depth, sort-imports */
|
|
3
4
|
import React, { createContext, useContext, useEffect, useLayoutEffect, useMemo } from "react";
|
|
4
|
-
import { shapeComponent } from "set-state-compare/build/shape-component.js";
|
|
5
|
+
import { ShapeComponent, shapeComponent } from "set-state-compare/build/shape-component.js";
|
|
5
6
|
import Switch, { CurrentSwitchContext } from "./switch";
|
|
6
7
|
import { arrayDifferent, simpleObjectDifferent } from "set-state-compare/build/diff-utils.js";
|
|
7
|
-
import BaseComponent from "../base-component";
|
|
8
8
|
import PropTypes from "prop-types";
|
|
9
9
|
import memo from "set-state-compare/build/memo.js";
|
|
10
10
|
import propTypesExact from "prop-types-exact";
|
|
@@ -14,7 +14,29 @@ const ParamsContext = createContext({});
|
|
|
14
14
|
const RequireComponentContext = createContext(null);
|
|
15
15
|
const RouteContext = createContext(null);
|
|
16
16
|
const useParams = () => useContext(ParamsContext);
|
|
17
|
-
|
|
17
|
+
/** @typedef {{params: Record<string, string>}} RouteMatch */
|
|
18
|
+
/** @typedef {React.ComponentType<{match: RouteMatch}>} RouteComponent */
|
|
19
|
+
/** @typedef {{routeDefinition: {component: string}}} RequireComponentArgs */
|
|
20
|
+
/** @typedef {(args: RequireComponentArgs) => RouteComponent | Promise<RouteComponent | null> | null} RequireComponent */
|
|
21
|
+
/**
|
|
22
|
+
* @typedef {object} Props
|
|
23
|
+
* @property {React.ReactNode} [children]
|
|
24
|
+
* @property {string} [component]
|
|
25
|
+
* @property {string} [componentPath]
|
|
26
|
+
* @property {boolean} [exact]
|
|
27
|
+
* @property {boolean} [fallback]
|
|
28
|
+
* @property {boolean} [includeInPath]
|
|
29
|
+
* @property {Function} [onMatch]
|
|
30
|
+
* @property {string|RegExp} [path]
|
|
31
|
+
*/
|
|
32
|
+
/**
|
|
33
|
+
* @typedef {object} State
|
|
34
|
+
* @property {RouteComponent | null} Component
|
|
35
|
+
* @property {boolean | null} componentNotFound
|
|
36
|
+
* @property {number} lastMatchUpdate
|
|
37
|
+
* @property {boolean} matches
|
|
38
|
+
*/
|
|
39
|
+
const Route = memo(shapeComponent(/** @augments {ShapeComponent<Props, State>} */ class Route extends ShapeComponent {
|
|
18
40
|
static defaultProps = {
|
|
19
41
|
exact: false,
|
|
20
42
|
fallback: false,
|
|
@@ -24,17 +46,21 @@ const Route = memo(shapeComponent(class Route extends BaseComponent {
|
|
|
24
46
|
children: PropTypes.any,
|
|
25
47
|
component: PropTypes.string,
|
|
26
48
|
componentPath: PropTypes.string,
|
|
27
|
-
exact: PropTypes.bool
|
|
28
|
-
fallback: PropTypes.bool
|
|
29
|
-
includeInPath: PropTypes.bool
|
|
49
|
+
exact: PropTypes.bool,
|
|
50
|
+
fallback: PropTypes.bool,
|
|
51
|
+
includeInPath: PropTypes.bool,
|
|
30
52
|
onMatch: PropTypes.func,
|
|
31
53
|
path: PropTypes.oneOfType([PropTypes.string, PropTypes.instanceOf(RegExp)])
|
|
32
54
|
});
|
|
55
|
+
/** @type {RouteMatch | null} */
|
|
33
56
|
match = null;
|
|
34
57
|
loadComponentRequestId = 0;
|
|
58
|
+
/** @type {Array<string>} */
|
|
35
59
|
componentPathParts = [];
|
|
36
60
|
lastMatchUpdate = 0;
|
|
61
|
+
/** @type {Record<string, string> | null} */
|
|
37
62
|
newParams = null;
|
|
63
|
+
/** @type {Array<string> | null} */
|
|
38
64
|
pathParts = null;
|
|
39
65
|
state = {
|
|
40
66
|
Component: null,
|
|
@@ -51,9 +77,9 @@ const Route = memo(shapeComponent(class Route extends BaseComponent {
|
|
|
51
77
|
this.debug = false;
|
|
52
78
|
this.log(() => ({ givenRoute }));
|
|
53
79
|
this.t = t;
|
|
54
|
-
this.requireComponent = useContext(RequireComponentContext);
|
|
55
|
-
this.currentParams = useContext(ParamsContext);
|
|
56
|
-
this.currentPath = useContext(CurrentPathContext);
|
|
80
|
+
this.requireComponent = /** @type {RequireComponent | null} */ (useContext(RequireComponentContext));
|
|
81
|
+
this.currentParams = /** @type {Record<string, string>} */ (useContext(ParamsContext));
|
|
82
|
+
this.currentPath = /** @type {Array<string>} */ (useContext(CurrentPathContext));
|
|
57
83
|
this.switchGroup = switchGroup;
|
|
58
84
|
this.routeParts = useMemo(() => givenRoute?.split("/"), [path, givenRoute]);
|
|
59
85
|
this.pathParts = useMemo(() => path?.split("/"), [path]);
|
|
@@ -196,8 +222,11 @@ const Route = memo(shapeComponent(class Route extends BaseComponent {
|
|
|
196
222
|
const requestId = this.loadComponentRequestId + 1;
|
|
197
223
|
this.loadComponentRequestId = requestId;
|
|
198
224
|
const actualComponentPath = this.props.componentPath || this.tt.componentPathParts.join("/");
|
|
225
|
+
/** @type {RouteComponent | null} */
|
|
199
226
|
let Component;
|
|
200
227
|
this.log(() => ["loadComponent", { componentPath: this.props.componentPath, componentPathParts: this.componentPathParts, actualComponentPath }]);
|
|
228
|
+
if (!this.tt.requireComponent)
|
|
229
|
+
throw new Error("No 'requireComponent' available in route context");
|
|
201
230
|
try {
|
|
202
231
|
const componentImport = await this.tt.requireComponent({ routeDefinition: { component: actualComponentPath } });
|
|
203
232
|
Component = componentImport;
|
|
@@ -239,4 +268,4 @@ const Route = memo(shapeComponent(class Route extends BaseComponent {
|
|
|
239
268
|
}));
|
|
240
269
|
export { RequireComponentContext, RouteContext, Switch, useParams };
|
|
241
270
|
export default Route;
|
|
242
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiL3NyYy8iLCJzb3VyY2VzIjpbInJvdXRlci9yb3V0ZS5qc3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLHNEQUFzRDtBQUN0RCxPQUFPLEtBQUssRUFBRSxFQUFDLGFBQWEsRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRSxPQUFPLEVBQUMsTUFBTSxPQUFPLENBQUE7QUFDM0YsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLDRDQUE0QyxDQUFBO0FBQ3pFLE9BQU8sTUFBTSxFQUFFLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSxVQUFVLENBQUE7QUFDckQsT0FBTyxFQUFDLGNBQWMsRUFBRSxxQkFBcUIsRUFBQyxNQUFNLHVDQUF1QyxDQUFBO0FBQzNGLE9BQU8sYUFBYSxNQUFNLG1CQUFtQixDQUFBO0FBQzdDLE9BQU8sU0FBUyxNQUFNLFlBQVksQ0FBQTtBQUNsQyxPQUFPLElBQUksTUFBTSxpQ0FBaUMsQ0FBQTtBQUNsRCxPQUFPLGNBQWMsTUFBTSxrQkFBa0IsQ0FBQTtBQUM3QyxPQUFPLE9BQU8sTUFBTSx3Q0FBd0MsQ0FBQTtBQUU1RCxNQUFNLGtCQUFrQixHQUFHLGFBQWEsQ0FBQyxFQUFFLENBQUMsQ0FBQTtBQUM1QyxNQUFNLGFBQWEsR0FBRyxhQUFhLENBQUMsRUFBRSxDQUFDLENBQUE7QUFDdkMsTUFBTSx1QkFBdUIsR0FBRyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUE7QUFDbkQsTUFBTSxZQUFZLEdBQUcsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFBO0FBQ3hDLE1BQU0sU0FBUyxHQUFHLEdBQUcsRUFBRSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsQ0FBQTtBQUVqRCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sS0FBTSxTQUFRLGFBQWE7SUFDakUsTUFBTSxDQUFDLFlBQVksR0FBRztRQUNwQixLQUFLLEVBQUUsS0FBSztRQUNaLFFBQVEsRUFBRSxLQUFL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U0FBUyxZQUN0QyxNQUFDLE1BQU0sSUFBQyxJQUFJLEVBQUUsZUFBZSxJQUFJLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxhQUMvQyxTQUFTLElBQUksS0FBQyxTQUFTLElBQUMsS0FBSyxFQUFFLEtBQUssR0FBSSxFQUN4QyxRQUFRLElBQ0YsR0FDYyxHQUNILEdBQ0ksQ0FDL0IsQ0FBQTtJQUNILENBQUM7Q0FDRixDQUFDLENBQUMsQ0FBQTtBQUVILE9BQU8sRUFBQyx1QkFBdUIsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBQyxDQUFBO0FBQ2pFLGVBQWUsS0FBSyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgcmVhY3QvanN4LW1heC1kZXB0aCwgc29ydC1pbXBvcnRzICovXG5pbXBvcnQgUmVhY3QsIHtjcmVhdGVDb250ZXh0LCB1c2VDb250ZXh0LCB1c2VFZmZlY3QsIHVzZUxheW91dEVmZmVjdCwgdXNlTWVtb30gZnJvbSBcInJlYWN0XCJcbmltcG9ydCB7c2hhcGVDb21wb25lbnR9IGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9idWlsZC9zaGFwZS1jb21wb25lbnQuanNcIlxuaW1wb3J0IFN3aXRjaCwge0N1cnJlbnRTd2l0Y2hDb250ZXh0fSBmcm9tIFwiLi9zd2l0Y2hcIlxuaW1wb3J0IHthcnJheURpZmZlcmVudCwgc2ltcGxlT2JqZWN0RGlmZmVyZW50fSBmcm9tIFwic2V0LXN0YXRlLWNvbXBhcmUvYnVpbGQvZGlmZi11dGlscy5qc1wiXG5pbXBvcnQgQmFzZUNvbXBvbmVudCBmcm9tIFwiLi4vYmFzZS1jb21wb25lbnRcIlxuaW1wb3J0IFByb3BUeXBlcyBmcm9tIFwicHJvcC10eXBlc1wiXG5pbXBvcnQgbWVtbyBmcm9tIFwic2V0LXN0YXRlLWNvbXBhcmUvYnVpbGQvbWVtby5qc1wiXG5pbXBvcnQgcHJvcFR5cGVzRXhhY3QgZnJvbSBcInByb3AtdHlwZXMtZXhhY3RcIlxuaW1wb3J0IHVzZUkxOG4gZnJvbSBcImkxOG4tb24tc3Rlcm9pZHMvYnVpbGQvc3JjL3VzZS1pMThuLmpzXCJcblxuY29uc3QgQ3VycmVudFBhdGhDb250ZXh0ID0gY3JlYXRlQ29udGV4dChbXSlcbmNvbnN0IFBhcmFtc0NvbnRleHQgPSBjcmVhdGVDb250ZXh0KHt9KVxuY29uc3QgUmVxdWlyZUNvbXBvbmVudENvbnRleHQgPSBjcmVhdGVDb250ZXh0KG51bGwpXG5jb25zdCBSb3V0ZUNvbnRleHQgPSBjcmVhdGVDb250ZXh0KG51bGwpXG5jb25zdCB1c2VQYXJhbXMgPSAoKSA9PiB1c2VDb250ZXh0KFBhcmFtc0NvbnRleHQpXG5cbmNvbnN0IFJvdXRlID0gbWVtbyhzaGFwZUNvbXBvbmVudChjbGFzcyBSb3V0ZSBleHRlbmRzIEJhc2VDb21wb25lbnQge1xuICBzdGF0aWMgZGVmYXVsdFByb3BzID0ge1xuICAgIGV4YWN0OiBmYWxzZSxcbiAgICBmYWxsYmFjazogZmFsc2UsXG4gICAgaW5jbHVkZUluUGF0aDogdHJ1ZVxuICB9XG5cbiAgc3RhdGljIHByb3BUeXBlcyA9IHByb3BUeXBlc0V4YWN0KHtcbiAgICBjaGlsZHJlbjogUHJvcFR5cGVzLmFueSxcbiAgICBjb21wb25lbnQ6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgY29tcG9uZW50UGF0aDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBleGFjdDogUHJvcFR5cGVzLmJvb2wuaXNSZXF1aXJlZCxcbiAgICBmYWxsYmFjazogUHJvcFR5cGVzLmJvb2wuaXNSZXF1aXJlZCxcbiAgICBpbmNsdWRlSW5QYXRoOiBQcm9wVHlwZXMuYm9vbC5pc1JlcXVpcmVkLFxuICAgIG9uTWF0Y2g6IFByb3BUeXBlcy5mdW5jLFxuICAgIHBhdGg6IFByb3BUeXBlcy5vbmVPZlR5cGUoW1Byb3BUeXBlcy5zdHJpbmcsIFByb3BUeXBlcy5pbnN0YW5jZU9mKFJlZ0V4cCldKVxuICB9KVxuXG4gIG1hdGNoID0gbnVsbFxuICBsb2FkQ29tcG9uZW50UmVxdWVzdElkID0gMFxuICBjb21wb25lbnRQYXRoUGFydHMgPSBbXVxuICBsYXN0TWF0Y2hVcGRhdGUgPSAwXG4gIG5ld1BhcmFtcyA9IG51bGxcbiAgcGF0aFBhcnRzID0gbnVsbFxuICBzdGF0ZSA9IHtcbiAgICBDb21wb25lbnQ6IG51bGwsXG4gICAgY29tcG9uZW50Tm90Rm91bmQ6IG51bGwsXG4gICAgbGFzdE1hdGNoVXBkYXRlOiAwLFxuICAgIG1hdGNoZXM6IGZhbHNlXG4gIH1cblxuICBzZXR1cCgpIHtcbiAgICBjb25zdCB7dH0gPSB1c2VJMThuKHtuYW1lc3BhY2U6IFwianMuYXBpX21ha2VyLnJvdXRlci5yb3V0ZVwifSlcbiAgICBjb25zdCB7cGF0aH0gPSB0aGlzLnByb3BzXG4gICAgY29uc3Qge3BhdGhzTWF0Y2hlZCwgc3dpdGNoR3JvdXB9ID0gdXNlQ29udGV4dChDdXJyZW50U3dpdGNoQ29udGV4dClcbiAgICBjb25zdCBnaXZlblJvdXRlID0gdXNlQ29udGV4dChSb3V0ZUNvbnRleHQpXG4gICAgY29uc3Qge3BhdGhTaG93bn0gPSBzd2l0Y2hHcm91cC5zXG5cbiAgICB0aGlzLmRlYnVnID0gZmFsc2VcbiAgICB0aGlzLmxvZygoKSA9PiAoe2dpdmVuUm91dGV9KSlcbiAgICB0aGlzLnQgPSB0XG5cbiAgICB0aGlzLnJlcXVpcmVDb21wb25lbnQgPSB1c2VDb250ZXh0KFJlcXVpcmVDb21wb25lbnRDb250ZXh0KVxuICAgIHRoaXMuY3VycmVudFBhcmFtcyA9IHVzZUNvbnRleHQoUGFyYW1zQ29udGV4dClcbiAgICB0aGlzLmN1cnJlbnRQYXRoID0gdXNlQ29udGV4dChDdXJyZW50UGF0aENvbnRleHQpXG4gICAgdGhpcy5zd2l0Y2hHcm91cCA9IHN3aXRjaEdyb3VwXG4gICAgdGhpcy5yb3V0ZVBhcnRzID0gdXNlTWVtbygoKSA9PiBnaXZlblJvdXRlPy5zcGxpdChcIi9cIiksIFtwYXRoLCBnaXZlblJvdXRlXSlcbiAgICB0aGlzLnBhdGhQYXJ0cyA9IHVzZU1lbW8oKCkgPT4gcGF0aD8uc3BsaXQoXCIvXCIpLCBbcGF0aF0pXG5cbiAgICB0aGlzLm5ld1JvdXRlUGFydHMgPSB1c2VNZW1vKFxuICAgICAgKCkgPT4ge1xuICAgICAgICBpZiAoIXBhdGgpIHtcbiAgICAgICAgICBpZiAoZ2l2ZW5Sb3V0ZSA9PSBcIlwiKSB7XG4gICAgICAgICAgICByZXR1cm4gW11cbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMucm91dGVQYXJ0c1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLnJvdXRlUGFydHMuc2xpY2UodGhpcy5wYXRoUGFydHMubGVuZ3RoLCB0aGlzLnJvdXRlUGFydHMubGVuZ3RoKVxuICAgICAgfSxcbiAgICAgIFtnaXZlblJvdXRlXS5jb25jYXQodGhpcy5wYXRoUGFydHMpXG4gICAgKVxuXG4gICAgdXNlTGF5b3V0RWZmZWN0KCgpID0+IHtcbiAgICAgIHRoaXMubG9hZE1hdGNoZXMoKVxuICAgIH0sIFtnaXZlblJvdXRlLCBwYXRoLCBwYXRoc01hdGNoZWRdKVxuXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgIGlmICh0aGlzLmhhc1N3aXRjaE1hdGNoKCkgJiYgIXRoaXMucy5Db21wb25lbnQgJiYgdGhpcy5zLm1hdGNoZXMpIHtcbiAgICAgICAgaWYgKHRoaXMucHJvcHMub25NYXRjaCkge1xuICAgICAgICAgIHRoaXMucHJvcHMub25NYXRjaCgpXG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIXRoaXMucHJvcHMuY2hpbGRyZW4gJiYgKHRoaXMucHJvcHMucGF0aCB8fCB0aGlzLnByb3BzLmNvbXBvbmVudCB8fCB0aGlzLnByb3BzLmNvbXBvbmVudFBhdGgpKSB7XG4gICAgICAgICAgdGhpcy5sb2FkQ29tcG9uZW50KClcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgdGhpcy5sb2FkQ29tcG9uZW50UmVxdWVzdElkICs9IDFcbiAgICAgIH1cbiAgICB9LCBbcGF0aCwgcGF0aFNob3duLCB0aGlzLnMubWF0Y2hlc10pXG4gIH1cblxuICBoYXNTd2l0Y2hNYXRjaCA9ICgpID0+IHRoaXMuc3dpdGNoR3JvdXAucy5wYXRoU2hvd24gJiYgdGhpcy5zd2l0Y2hHcm91cC5zLnBhdGhTaG93biA9PSB0aGlzLnBhdGhJZCgpXG5cbiAgcGF0aElkKCkge1xuICAgIGNvbnN0IHtmYWxsYmFja30gPSB0aGlzLnBcbiAgICBjb25zdCB7cGF0aH0gPSB0aGlzLnByb3BzXG4gICAgbGV0IHBhdGhJZFxuXG4gICAgaWYgKGZhbGxiYWNrKSB7XG4gICAgICBwYXRoSWQgPSBcIltGQUxMQkFDS11cIlxuICAgIH0gZWxzZSBpZiAocGF0aCkge1xuICAgICAgcGF0aElkID0gcGF0aFxuICAgIH0gZWxzZSB7XG4gICAgICBwYXRoSWQgPSBcIltQQVRILUVNUFRZXVwiXG4gICAgfVxuXG4gICAgcmV0dXJuIHBhdGhJZFxuICB9XG5cbiAgbG9hZE1hdGNoZXMoKSB7XG4gICAgY29uc3Qge25ld1JvdXRlUGFydHMsIHR9ID0gdGhpcy50dFxuICAgIGNvbnN0IHtjb21wb25lbnQsIHBhdGh9ID0gdGhpcy5wcm9wc1xuICAgIGNvbnN0IHtleGFjdCwgaW5jbHVkZUluUGF0aCwgZmFsbGJhY2t9ID0gdGhpcy5wXG5cbiAgICBsZXQgbWF0Y2hlcyA9IHRydWVcbiAgICBjb25zdCBwYXJhbXMgPSB7fVxuICAgIGNvbnN0IGNvbXBvbmVudFBhdGhQYXJ0cyA9IFsuLi50aGlzLmN1cnJlbnRQYXRoXVxuXG4gICAgdGhpcy5sb2coKCkgPT4gW3RoaXMucHJvcHMucGF0aCwgXCJTdGFydCBnZW5lcmF0aW5nIGNvbXBvbmVudCBwYXRoc1wiLCBKU09OLnN0cmluZ2lmeShjb21wb25lbnRQYXRoUGFydHMpXSlcblxuICAgIGZvciAoY29uc3QgcGF0aFBhcnRJbmRleCBpbiB0aGlzLnBhdGhQYXJ0cykge1xuICAgICAgY29uc3QgcGF0aFBhcnQgPSB0aGlzLnBhdGhQYXJ0c1twYXRoUGFydEluZGV4XVxuICAgICAgY29uc3QgdHJhbnNsYXRlZFBhdGhQYXJ0ID0gdChgcm91dGVzLiR7cGF0aFBhcnR9YCwge2RlZmF1bHRWYWx1ZTogcGF0aFBhcnR9KVxuXG4gICAgICBpZiAoIShwYXRoUGFydEluZGV4IGluIHRoaXMucm91dGVQYXJ0cykpIHtcbiAgICAgICAgdGhpcy5sb2coKCkgPT4gYE5vIG1hdGNoIGZvcjogJHtwYXRoUGFydEluZGV4fWApXG4gICAgICAgIG1hdGNoZXMgPSBmYWxzZVxuICAgICAgICBicmVha1xuICAgICAgfVxuXG4gICAgICBjb25zdCByb3V0ZVBhcnQgPSBkZWNvZGVVUklDb21wb25lbnQodGhpcy5yb3V0ZVBhcnRzW3BhdGhQYXJ0SW5kZXhdKVxuXG4gICAgICBpZiAocGF0aFBhcnQuc3RhcnRzV2l0aChcIjpcIikgJiYgcm91dGVQYXJ0KSB7XG4gICAgICAgIGNvbnN0IHBhcmFtTmFtZSA9IHBhdGhQYXJ0LnNsaWNlKDEsIHBhdGhQYXJ0Lmxlbmd0aClcblxuICAgICAgICBwYXJhbXNbcGFyYW1OYW1lXSA9IHJvdXRlUGFydFxuICAgICAgfSBlbHNlIGlmICh0cmFuc2xhdGVkUGF0aFBhcnQgIT0gcm91dGVQYXJ0KSB7XG4gICAgICAgIG1hdGNoZXMgPSBmYWxzZVxuICAgICAgICBicmVha1xuICAgICAgfSBlbHNlIGlmICghY29tcG9uZW50ICYmIGluY2x1ZGVJblBhdGgpIHtcbiAgICAgICAgY29tcG9uZW50UGF0aFBhcnRzLnB1c2gocGF0aFBhcnQpXG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKGV4YWN0ICYmIG5ld1JvdXRlUGFydHMubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5sb2coKCkgPT4gW1wiRXhhY3QgYW5kIG1vcmUgcm91dGUgcGFydHNcIiwge25ld1JvdXRlUGFydHMsIHBhdGhQYXJ0czogdGhpcy5wYXRoUGFydHMsIHJvdXRlUGFydHM6IHRoaXMucm91dGVQYXJ0c31dKVxuICAgICAgbWF0Y2hlcyA9IGZhbHNlXG4gICAgfSBlbHNlIGlmIChtYXRjaGVzICYmIHBhdGgpIHtcbiAgICAgIG1hdGNoZXMgPSB0cnVlXG4gICAgfSBlbHNlIGlmICh0aGlzLnJvdXRlUGFydHMubGVuZ3RoID09IDApIHtcbiAgICAgIG1hdGNoZXMgPSB0cnVlXG4gICAgfVxuXG4gICAgY29uc3QgbWF0Y2hJZCA9IHRoaXMucGF0aElkKClcblxuICAgIGlmICghbWF0Y2hlcyAmJiBmYWxsYmFjaykge1xuICAgICAgbWF0Y2hlcyA9IHRydWVcbiAgICB9XG5cbiAgICB0aGlzLmxvZygoKSA9PiBbdGhpcy5wcm9wcy5wYXRoLCBcIkVuZCBnZW5lcmF0aW5nIGNvbXBvbmVudCBwYXRoc1wiLCBKU09OLnN0cmluZ2lmeShjb21wb25lbnRQYXRoUGFydHMpLCB7bWF0Y2hlc31dKVxuXG4gICAgaWYgKG1hdGNoZXMpIHtcbiAgICAgIGlmIChjb21wb25lbnQgJiYgaW5jbHVkZUluUGF0aCkge1xuICAgICAgICBjb21wb25lbnRQYXRoUGFydHMucHVzaChjb21wb25lbnQpXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IG5ld1BhcmFtcyA9IE9iamVjdC5hc3NpZ24oe30sIHRoaXMuY3VycmVudFBhcmFtcywgcGFyYW1zKSAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIHByZWZlci1vYmplY3Qtc3ByZWFkXG5cbiAgICAgIHRoaXMudXBkYXRlUm91dGVNYXRjaFN0YXRlKHtjb21wb25lbnRQYXRoUGFydHMsIG1hdGNoOiB7cGFyYW1zfSwgbWF0Y2hlcywgbmV3UGFyYW1zfSlcbiAgICAgIHRoaXMuc3dpdGNoR3JvdXA/LnNldFBhdGhNYXRjaGVkKG1hdGNoSWQsIHRydWUpXG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudXBkYXRlUm91dGVNYXRjaFN0YXRlKHtjb21wb25lbnRQYXRoUGFydHM6IG51bGwsIG1hdGNoOiBudWxsLCBtYXRjaGVzLCBuZXdQYXJhbXM6IG51bGx9KVxuICAgICAgdGhpcy5zd2l0Y2hHcm91cD8uc2V0UGF0aE1hdGNoZWQobWF0Y2hJZCwgZmFsc2UpXG4gICAgfVxuICB9XG5cbiAgdXBkYXRlUm91dGVNYXRjaFN0YXRlKHtjb21wb25lbnRQYXRoUGFydHMsIG1hdGNoLCBtYXRjaGVzLCBuZXdQYXJhbXN9KSB7XG4gICAgY29uc3Qgcm91dGVEYXRhQ2hhbmdlZCA9IHRoaXMucm91dGVEYXRhQ2hhbmdlZCh7Y29tcG9uZW50UGF0aFBhcnRzLCBtYXRjaCwgbmV3UGFyYW1zfSlcblxuICAgIHRoaXMuY29tcG9uZW50UGF0aFBhcnRzID0gY29tcG9uZW50UGF0aFBhcnRzXG4gICAgdGhpcy5tYXRjaCA9IG1hdGNoXG4gICAgdGhpcy5uZXdQYXJhbXMgPSBuZXdQYXJhbXNcbiAgICBpZiAocm91dGVEYXRhQ2hhbmdlZCB8fCB0aGlzLnMubWF0Y2hlcyAhPSBtYXRjaGVzKSB7XG4gICAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgICAgbGFzdE1hdGNoVXBkYXRlOiByb3V0ZURhdGFDaGFuZ2VkID8gdGhpcy5sYXN0TWF0Y2hVcGRhdGUgKz0gMSA6IHRoaXMucy5sYXN0TWF0Y2hVcGRhdGUsXG4gICAgICAgIG1hdGNoZXNcbiAgICAgIH0pXG4gICAgfVxuICB9XG5cbiAgcm91dGVEYXRhQ2hhbmdlZCh7Y29tcG9uZW50UGF0aFBhcnRzLCBtYXRjaCwgbmV3UGFyYW1zfSkge1xuICAgIGNvbnN0IGN1cnJlbnRDb21wb25lbnRQYXRoUGFydHMgPSB0aGlzLmNvbXBvbmVudFBhdGhQYXJ0cyB8fCBudWxsXG4gICAgY29uc3QgY3VycmVudE1hdGNoUGFyYW1zID0gdGhpcy5tYXRjaD8ucGFyYW1zIHx8IG51bGxcbiAgICBjb25zdCBuZXh0TWF0Y2hQYXJhbXMgPSBtYXRjaD8ucGFyYW1zIHx8IG51bGxcbiAgICBjb25zdCBjb21wb25lbnRQYXRoUGFydHNDaGFuZ2VkID0gdGhpcy5udWxsYWJsZUFycmF5RGlmZmVyZW50KGN1cnJlbnRDb21wb25lbnRQYXRoUGFydHMsIGNvbXBvbmVudFBhdGhQYXJ0cylcbiAgICBjb25zdCBtYXRjaENoYW5nZWQgPSB0aGlzLm51bGxhYmxlT2JqZWN0RGlmZmVyZW50KGN1cnJlbnRNYXRjaFBhcmFtcywgbmV4dE1hdGNoUGFyYW1zKVxuICAgIGNvbnN0IG5ld1BhcmFtc0NoYW5nZWQgPSB0aGlzLm51bGxhYmxlT2JqZWN0RGlmZmVyZW50KHRoaXMubmV3UGFyYW1zLCBuZXdQYXJhbXMpXG5cbiAgICByZXR1cm4gY29tcG9uZW50UGF0aFBhcnRzQ2hhbmdlZCB8fCBtYXRjaENoYW5nZWQgfHwgbmV3UGFyYW1zQ2hhbmdlZFxuICB9XG5cbiAgbnVsbGFibGVBcnJheURpZmZlcmVudCh2YWx1ZSwgbmV4dFZhbHVlKSB7XG4gICAgaWYgKHZhbHVlID09PSBudWxsIHx8IG5leHRWYWx1ZSA9PT0gbnVsbCkge1xuICAgICAgcmV0dXJuIHZhbHVlICE9IG5leHRWYWx1ZVxuICAgIH1cblxuICAgIHJldHVybiBhcnJheURpZmZlcmVudCh2YWx1ZSwgbmV4dFZhbHVlKVxuICB9XG5cbiAgbnVsbGFibGVPYmplY3REaWZmZXJlbnQodmFsdWUsIG5leHRWYWx1ZSkge1xuICAgIGlmICh2YWx1ZSA9PT0gbnVsbCB8fCBuZXh0VmFsdWUgPT09IG51bGwpIHtcbiAgICAgIHJldHVybiB2YWx1ZSAhPSBuZXh0VmFsdWVcbiAgICB9XG5cbiAgICByZXR1cm4gc2ltcGxlT2JqZWN0RGlmZmVyZW50KHZhbHVlLCBuZXh0VmFsdWUsIHRydWUpXG4gIH1cblxuICBhc3luYyBsb2FkQ29tcG9uZW50KCkge1xuICAgIC8vIElnbm9yZSBsYXRlIGFzeW5jIHJvdXRlLWNvbXBvbmVudCBsb2FkcyBhZnRlciBhIHJvdXRlIHN3aXRjaCBvciBkaXNjYXJkZWQgbW91bnQuXG4gICAgY29uc3QgcmVxdWVzdElkID0gdGhpcy5sb2FkQ29tcG9uZW50UmVxdWVzdElkICsgMVxuXG4gICAgdGhpcy5sb2FkQ29tcG9uZW50UmVxdWVzdElkID0gcmVxdWVzdElkXG4gICAgY29uc3QgYWN0dWFsQ29tcG9uZW50UGF0aCA9IHRoaXMucHJvcHMuY29tcG9uZW50UGF0aCB8fCB0aGlzLnR0LmNvbXBvbmVudFBhdGhQYXJ0cy5qb2luKFwiL1wiKVxuICAgIGxldCBDb21wb25lbnRcblxuICAgIHRoaXMubG9nKCgpID0+IFtcImxvYWRDb21wb25lbnRcIiwge2NvbXBvbmVudFBhdGg6IHRoaXMucHJvcHMuY29tcG9uZW50UGF0aCwgY29tcG9uZW50UGF0aFBhcnRzOiB0aGlzLmNvbXBvbmVudFBhdGhQYXJ0cywgYWN0dWFsQ29tcG9uZW50UGF0aH1dKVxuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGNvbXBvbmVudEltcG9ydCA9IGF3YWl0IHRoaXMudHQucmVxdWlyZUNvbXBvbmVudCh7cm91dGVEZWZpbml0aW9uOiB7Y29tcG9uZW50OiBhY3R1YWxDb21wb25lbnRQYXRofX0pXG5cbiAgICAgIENvbXBvbmVudCA9IGNvbXBvbmVudEltcG9ydFxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zb2xlLmVycm9yKGBDb3VsZG4ndCBmaW5kIGNvbXBvbmVudDogJHthY3R1YWxDb21wb25lbnRQYXRofWApXG5cbiAgICAgIHRocm93IGVycm9yXG4gICAgfVxuXG4gICAgaWYgKHJlcXVlc3RJZCAhPSB0aGlzLmxvYWRDb21wb25lbnRSZXF1ZXN0SWQpIHJldHVyblxuXG4gICAgdGhpcy5zZXRTdGF0ZSh7Q29tcG9uZW50LCBjb21wb25lbnROb3RGb3VuZDogIUNvbXBvbmVudH0pXG4gIH1cblxuICBsb2coY2FsbGJhY2tBcmdzKSB7XG4gICAgaWYgKHRoaXMuZGVidWcpIHtcbiAgICAgIGxldCBhcmdzID0gY2FsbGJhY2tBcmdzKClcblxuICAgICAgaWYgKCFBcnJheS5pc0FycmF5KGFyZ3MpKSBhcmdzID0gW2FyZ3NdXG5cbiAgICAgIGNvbnNvbGUubG9nKC4uLmFyZ3MpXG4gICAgfVxuICB9XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHtjb21wb25lbnRQYXRoUGFydHMsIG1hdGNoLCBuZXdQYXJhbXMsIG5ld1JvdXRlUGFydHN9ID0gdGhpcy50dFxuICAgIGNvbnN0IHtjaGlsZHJlbiwgY29tcG9uZW50LCBwYXRofSA9IHRoaXMucHJvcHNcbiAgICBjb25zdCB7Q29tcG9uZW50LCBjb21wb25lbnROb3RGb3VuZCwgbWF0Y2hlc30gPSB0aGlzLnNcblxuICAgIGlmICghbWF0Y2hlcyB8fCAhdGhpcy5oYXNTd2l0Y2hNYXRjaCgpKSB7XG4gICAgICAvLyBSb3V0ZSBpc24ndCBtYXRjaGluZyBhbmQgc2hvdWxkbid0IGJlIHJlbmRlcmVkIGF0IGFsbC5cbiAgICAgIHJldHVybiBudWxsXG4gICAgfVxuXG4gICAgaWYgKCFDb21wb25lbnQgJiYgIWNoaWxkcmVuICYmICFjb21wb25lbnROb3RGb3VuZCkge1xuICAgICAgLy8gUm91dGUgaXMgbWF0Y2hpbmcgYnV0IGhhc24ndCBiZWVuIGxvYWRlZCB5ZXQuXG4gICAgICByZXR1cm4gKFxuICAgICAgICA8ZGl2PlxuICAgICAgICAgIHtcIkxvYWRpbmcgXCJ9XG4gICAgICAgICAge2NvbXBvbmVudCB8fCB0aGlzLnByb3BzLmNvbXBvbmVudFBhdGggfHwgY29tcG9uZW50UGF0aFBhcnRzLmpvaW4oXCIvXCIpfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIClcbiAgICB9XG5cbiAgICBpZiAoIUNvbXBvbmVudCAmJiAhY2hpbGRyZW4gJiYgY29tcG9uZW50Tm90Rm91bmQpIHtcbiAgICAgIC8vIERvbid0IHJlbmRlciBhbnl0aGluZyBpZiB0aGUgY29tcG9uZW50IGNvdWxkbid0IGJlIGZvdW5kLlxuICAgICAgcmV0dXJuIG51bGxcbiAgICB9XG5cbiAgICByZXR1cm4gKFxuICAgICAgPEN1cnJlbnRQYXRoQ29udGV4dC5Qcm92aWRlciB2YWx1ZT17Y29tcG9uZW50UGF0aFBhcnRzfT5cbiAgICAgICAgPFJvdXRlQ29udGV4dC5Qcm92aWRlciB2YWx1ZT17bmV3Um91dGVQYXJ0cy5qb2luKFwiL1wiKX0+XG4gICAgICAgICAgPFBhcmFtc0NvbnRleHQuUHJvdmlkZXIgdmFsdWU9e25ld1BhcmFtc30+XG4gICAgICAgICAgICA8U3dpdGNoIG5hbWU9e2Byb3V0ZS1ncm91cC0ke3BhdGh9YH0gc2luZ2xlPXtmYWxzZX0+XG4gICAgICAgICAgICAgIHtDb21wb25lbnQgJiYgPENvbXBvbmVudCBtYXRjaD17bWF0Y2h9IC8+fVxuICAgICAgICAgICAgICB7Y2hpbGRyZW59XG4gICAgICAgICAgICA8L1N3aXRjaD5cbiAgICAgICAgICA8L1BhcmFtc0NvbnRleHQuUHJvdmlkZXI+XG4gICAgICAgIDwvUm91dGVDb250ZXh0LlByb3ZpZGVyPlxuICAgICAgPC9DdXJyZW50UGF0aENvbnRleHQuUHJvdmlkZXI+XG4gICAgKVxuICB9XG59KSlcblxuZXhwb3J0IHtSZXF1aXJlQ29tcG9uZW50Q29udGV4dCwgUm91dGVDb250ZXh0LCBTd2l0Y2gsIHVzZVBhcmFtc31cbmV4cG9ydCBkZWZhdWx0IFJvdXRlXG4iXX0=
|
|
271
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiL3NyYy8iLCJzb3VyY2VzIjpbInJvdXRlci9yb3V0ZS5qc3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLFlBQVk7QUFDWixzREFBc0Q7QUFDdEQsT0FBTyxLQUFLLEVBQUUsRUFBQyxhQUFhLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUUsT0FBTyxFQUFDLE1BQU0sT0FBTyxDQUFBO0FBQzNGLE9BQU8sRUFBQyxjQUFjLEVBQUUsY0FBYyxFQUFDLE1BQU0sNENBQTRDLENBQUE7QUFDekYsT0FBTyxNQUFNLEVBQUUsRUFBQyxvQkFBb0IsRUFBQyxNQUFNLFVBQVUsQ0FBQTtBQUNyRCxPQUFPLEVBQUMsY0FBYyxFQUFFLHFCQUFxQixFQUFDLE1BQU0sdUNBQXVDLENBQUE7QUFDM0YsT0FBTyxTQUFTLE1BQU0sWUFBWSxDQUFBO0FBQ2xDLE9BQU8sSUFBSSxNQUFNLGlDQUFpQyxDQUFBO0FBQ2xELE9BQU8sY0FBYyxNQUFNLGtCQUFrQixDQUFBO0FBQzdDLE9BQU8sT0FBTyxNQUFNLHdDQUF3QyxDQUFBO0FBRTVELE1BQU0sa0JBQWtCLEdBQUcsYUFBYSxDQUFDLEVBQUUsQ0FBQyxDQUFBO0FBQzVDLE1BQU0sYUFBYSxHQUFHLGFBQWEsQ0FBQyxFQUFFLENBQUMsQ0FBQTtBQUN2QyxNQUFNLHVCQUF1QixHQUFHLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQTtBQUNuRCxNQUFNLFlBQVksR0FBRyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUE7QUFDeEMsTUFBTSxTQUFTLEdBQUcsR0FBRyxFQUFFLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxDQUFBO0FBRWpELDZEQUE2RDtBQUM3RCx5RUFBeUU7QUFDekUsNkVBQTZFO0FBQzdFLHlIQUF5SDtBQUV6SDs7Ozs7Ozs7OztHQVVHO0FBQ0g7Ozs7OztHQU1HO0FBQ0gsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQywrQ0FBK0MsQ0FBQyxNQUFNLEtBQU0sU0FBUSxjQUFjO0lBQ2xILE1BQU0sQ0FBQyxZQUFZLEdBQUc7UUFDcEIsS0FBSyxFQUFFLEtBQUs7UUFDWixRQUFRLEVBQUUsS0FBSztRQUNmLGFBQWEsRUFBRSxJQUFJO0tBQ3BCLENBQUE7SUFFRCxNQUFNLENBQUMsU0FBUyxHQUFHLGNBQWMsQ0FBQztRQUNoQyxRQUFRLEVBQUUsU0FBUyxDQUFDLEdBQUc7UUFDdkIsU0FBUyxFQUFFLFNBQVMsQ0FBQyxNQUFNO1FBQzNCLGFBQWEsRUFBRSxTQUFTLENBQUMsTUFBTTtRQUMvQixLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUk7UUFDckIsUUFBUSxFQUFFLFNBQVMsQ0FBQyxJQUFJO1FBQ3hCLGFBQWEsRUFBRSxTQUFTLENBQUMsSUFBSTtRQUM3QixPQUFPLEVBQUUsU0FBUyxDQUFDLElBQUk7UUFDdkIsSUFBSSxFQUFFLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLFNBQVMsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztLQUM1RSxDQUFDLENBQUE7SUFFRixnQ0FBZ0M7SUFDaEMsS0FBSyxHQUFHLElBQUksQ0FBQTtJQUVaLHNCQUFzQixHQUFHLENBQUMsQ0FBQTtJQUUxQiw0QkFBNEI7SUFDNUIsa0JBQWtCLEdBQUcsRUFBRSxDQUFBO0lBRXZCLGVBQWUsR0FBRyxDQUFDLENBQUE7SUFFbkIsNENBQTRDO0lBQzVDLFNBQVMsR0FBRyxJQUFJLENBQUE7SUFFaEIsbUNBQW1DO0lBQ25DLFNBQVMsR0FBRyxJQUFJLENBQUE7SUFDaEIsS0FBSyxHQUFHO1FBQ04sU0FBUyxFQUFFLElBQUk7UUFDZixpQkFBaUIsRUFBRSxJQUFJO1FBQ3ZCLGVBQWUsRUFBRSxDQUFDO1FBQ2xCLE9BQU8sRUFBRSxLQUFLO0tBQ2YsQ0FBQTtJQUVELEtBQUs7UUFDSCxNQUFNLEVBQUMsQ0FBQyxFQUFDLEdBQUcsT0FBTyxDQUFDLEVBQUMsU0FBUyxFQUFFLDJCQUEyQixFQUFDLENBQUMsQ0FBQTtRQUM3RCxNQUFNLEVBQUMsSUFBSSxFQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQTtRQUN6QixNQUFNLEVBQUMsWUFBWSxFQUFFLFdBQVcsRUFBQyxHQUFHLFVBQVUsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFBO1FBQ3BFLE1BQU0sVUFBVSxHQUFHLFVBQVUsQ0FBQyxZQUFZLENBQUMsQ0FBQTtRQUMzQyxNQUFNLEVBQUMsU0FBUyxFQUFDLEdBQUcsV0FBVyxDQUFDLENBQUMsQ0FBQTtRQUVqQyxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQTtRQUNsQixJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsRUFBQyxVQUFVLEVBQUMsQ0FBQyxDQUFDLENBQUE7UUFDOUIsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUE7UUFFVixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsc0NBQXNDLENBQUMsQ0FBQyxVQUFVLENBQUMsdUJBQXVCLENBQUMsQ0FBQyxDQUFBO1FBQ3BHLElBQUksQ0FBQyxhQUFhLEdBQUcscUNBQXFDLENBQUMsQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQTtRQUN0RixJQUFJLENBQUMsV0FBVyxHQUFHLDRCQUE0QixDQUFDLENBQUMsVUFBVSxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQTtRQUNoRixJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQTtRQUM5QixJQUFJLENBQUMsVUFBVSxHQUFHLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUE7UUFDM0UsSUFBSSxDQUFDLFNBQVMsR0FBRyxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUE7UUFFeEQsSUFBSSxDQUFDLGFBQWEsR0FBRyxPQUFPLENBQzFCLEdBQUcsRUFBRTtZQUNILElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDVixJQUFJLFVBQVUsSUFBSSxFQUFFLEVBQUUsQ0FBQztvQkFDckIsT0FBTyxFQUFFLENBQUE7Z0JBQ1gsQ0FBQztxQkFBTSxDQUFDO29CQUNOLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQTtnQkFDeEIsQ0FBQztZQUNILENBQUM7WUFFRCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUE7UUFDN0UsQ0FBQyxFQUNELENBQUMsVUFBVSxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FDcEMsQ0FBQTtRQUVELGVBQWUsQ0FBQyxHQUFHLEVBQUU7WUFDbkIsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFBO1FBQ3BCLENBQUMsRUFBRSxDQUFDLFVBQVUsRUFBRSxJQUFJLEVBQUUsWUFBWSxDQUFDLENBQUMsQ0FBQTtRQUVwQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ2IsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUNqRSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7b0JBQ3ZCLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUE7Z0JBQ3RCLENBQUM7Z0JBRUQsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDO29CQUNsRyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUE7Z0JBQ3RCLENBQUM7WUFDSCxDQUFDO1lBQ0QsT0FBTyxHQUFHLEVBQUU7Z0JBQ1YsSUFBSSxDQUFDLHNCQUFzQixJQUFJLENBQUMsQ0FBQTtZQUNsQyxDQUFDLENBQUE7UUFDSCxDQUFDLEVBQUUsQ0FBQyxJQUFJLEVBQUUsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQTtJQUN2QyxDQUFDO0lBRUQsY0FBYyxHQUFHLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFBO0lBRXBHLE1BQU07UUFDSixNQUFNLEVBQUMsUUFBUSxFQUFDLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQTtRQUN6QixNQUFNLEVBQUMsSUFBSSxFQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQTtRQUN6QixJQUFJLE1BQU0sQ0FBQTtRQUVWLElBQUksUUFBUSxFQUFFLENBQUM7WUFDYixNQUFNLEdBQUcsWUFBWSxDQUFBO1FBQ3ZCLENBQUM7YUFBTSxJQUFJLElBQUksRUFBRSxDQUFDO1lBQ2hCLE1BQU0sR0FBRyxJQUFJLENBQUE7UUFDZixDQUFDO2FBQU0sQ0FBQztZQUNOLE1BQU0sR0FBRyxjQUFjLENBQUE7UUFDekIsQ0FBQztRQUVELE9BQU8sTUFBTSxDQUFBO0lBQ2YsQ0FBQztJQUVELFdBQVc7UUFDVCxNQUFNLEVBQUMsYUFBYSxFQUFFLENBQUMsRUFBQyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUE7UUFDbEMsTUFBTSxFQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFBO1FBQ3BDLE1BQU0sRUFBQyxLQUFLLEVBQUUsYUFBYSxFQUFFLFFBQVEsRUFBQyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUE7UUFFL0MsSUFBSSxPQUFPLEdBQUcsSUFBSSxDQUFBO1FBQ2xCLE1BQU0sTUFBTSxHQUFHLEVBQUUsQ0FBQTtRQUNqQixNQUFNLGtCQUFrQixHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUE7UUFFaEQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLGtDQUFrQyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLENBQUE7UUFFekcsS0FBSyxNQUFNLGFBQWEsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDM0MsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsQ0FBQTtZQUM5QyxNQUFNLGtCQUFrQixHQUFHLENBQUMsQ0FBQyxVQUFVLFFBQVEsRUFBRSxFQUFFLEVBQUMsWUFBWSxFQUFFLFFBQVEsRUFBQyxDQUFDLENBQUE7WUFFNUUsSUFBSSxDQUFDLENBQUMsYUFBYSxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO2dCQUN4QyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLGlCQUFpQixhQUFhLEVBQUUsQ0FBQyxDQUFBO2dCQUNoRCxPQUFPLEdBQUcsS0FBSyxDQUFBO2dCQUNmLE1BQUs7WUFDUCxDQUFDO1lBRUQsTUFBTSxTQUFTLEdBQUcsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFBO1lBRXBFLElBQUksUUFBUSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsSUFBSSxTQUFTLEVBQUUsQ0FBQztnQkFDMUMsTUFBTSxTQUFTLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFBO2dCQUVwRCxNQUFNLENBQUMsU0FBUyxDQUFDLEdBQUcsU0FBUyxDQUFBO1lBQy9CLENBQUM7aUJBQU0sSUFBSSxrQkFBa0IsSUFBSSxTQUFTLEVBQUUsQ0FBQztnQkFDM0MsT0FBTyxHQUFHLEtBQUssQ0FBQTtnQkFDZixNQUFLO1lBQ1AsQ0FBQztpQkFBTSxJQUFJLENBQUMsU0FBUyxJQUFJLGFBQWEsRUFBRSxDQUFDO2dCQUN2QyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUE7WUFDbkMsQ0FBQztRQUNILENBQUM7UUFFRCxJQUFJLEtBQUssSUFBSSxhQUFhLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ3RDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyw0QkFBNEIsRUFBRSxFQUFDLGFBQWEsRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxVQUFVLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBQyxDQUFDLENBQUMsQ0FBQTtZQUN2SCxPQUFPLEdBQUcsS0FBSyxDQUFBO1FBQ2pCLENBQUM7YUFBTSxJQUFJLE9BQU8sSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUMzQixPQUFPLEdBQUcsSUFBSSxDQUFBO1FBQ2hCLENBQUM7YUFBTSxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQ3ZDLE9BQU8sR0FBRyxJQUFJLENBQUE7UUFDaEIsQ0FBQztRQUVELE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQTtRQUU3QixJQUFJLENBQUMsT0FBTyxJQUFJLFFBQVEsRUFBRSxDQUFDO1lBQ3pCLE9BQU8sR0FBRyxJQUFJLENBQUE7UUFDaEIsQ0FBQztRQUVELElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxnQ0FBZ0MsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLGtCQUFrQixDQUFDLEVBQUUsRUFBQyxPQUFPLEVBQUMsQ0FBQyxDQUFDLENBQUE7UUFFbEgsSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUNaLElBQUksU0FBUyxJQUFJLGFBQWEsRUFBRSxDQUFDO2dCQUMvQixrQkFBa0IsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUE7WUFDcEMsQ0FBQztZQUVELE1BQU0sU0FBUyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxhQUFhLEVBQUUsTUFBTSxDQUFDLENBQUEsQ0FBQywyQ0FBMkM7WUFFM0csSUFBSSxDQUFDLHFCQUFxQixDQUFDLEVBQUMsa0JBQWtCLEVBQUUsS0FBSyxFQUFFLEVBQUMsTUFBTSxFQUFDLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBQyxDQUFDLENBQUE7WUFDckYsSUFBSSxDQUFDLFdBQVcsRUFBRSxjQUFjLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFBO1FBQ2pELENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLHFCQUFxQixDQUFDLEVBQUMsa0JBQWtCLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUMsQ0FBQyxDQUFBO1lBQzdGLElBQUksQ0FBQyxXQUFXLEVBQUUsY0FBYyxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQTtRQUNsRCxDQUFDO0lBQ0gsQ0FBQztJQUVELHFCQUFxQixDQUFDLEVBQUMsa0JBQWtCLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUM7UUFDbkUsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsRUFBQyxrQkFBa0IsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFDLENBQUMsQ0FBQTtRQUV0RixJQUFJLENBQUMsa0JBQWtCLEdBQUcsa0JBQWtCLENBQUE7UUFDNUMsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUE7UUFDbEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUE7UUFDMUIsSUFBSSxnQkFBZ0IsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUNsRCxJQUFJLENBQUMsUUFBUSxDQUFDO2dCQUNaLGVBQWUsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGVBQWUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsZUFBZTtnQkFDdEYsT0FBTzthQUNSLENBQUMsQ0FBQTtRQUNKLENBQUM7SUFDSCxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsRUFBQyxrQkFBa0IsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFDO1FBQ3JELE1BQU0seUJBQXlCLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixJQUFJLElBQUksQ0FBQTtRQUNqRSxNQUFNLGtCQUFrQixHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsTUFBTSxJQUFJLElBQUksQ0FBQTtRQUNyRCxNQUFNLGVBQWUsR0FBRyxLQUFLLEVBQUUsTUFBTSxJQUFJLElBQUksQ0FBQTtRQUM3QyxNQUFNLHlCQUF5QixHQUFHLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyx5QkFBeUIsRUFBRSxrQkFBa0IsQ0FBQyxDQUFBO1FBQzVHLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxrQkFBa0IsRUFBRSxlQUFlLENBQUMsQ0FBQTtRQUN0RixNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQyxDQUFBO1FBRWhGLE9BQU8seUJBQXlCLElBQUksWUFBWSxJQUFJLGdCQUFnQixDQUFBO0lBQ3RFLENBQUM7SUFFRCxzQkFBc0IsQ0FBQyxLQUFLLEVBQUUsU0FBUztRQUNyQyxJQUFJLEtBQUssS0FBSyxJQUFJLElBQUksU0FBUyxLQUFLLElBQUksRUFBRSxDQUFDO1lBQ3pDLE9BQU8sS0FBSyxJQUFJLFNBQVMsQ0FBQTtRQUMzQixDQUFDO1FBRUQsT0FBTyxjQUFjLENBQUMsS0FBSyxFQUFFLFNBQVMsQ0FBQyxDQUFBO0lBQ3pDLENBQUM7SUFFRCx1QkFBdUIsQ0FBQyxLQUFLLEVBQUUsU0FBUztRQUN0QyxJQUFJLEtBQUssS0FBSyxJQUFJLElBQUksU0FBUyxLQUFLLElBQUksRUFBRSxDQUFDO1lBQ3pDLE9BQU8sS0FBSyxJQUFJLFNBQVMsQ0FBQTtRQUMzQixDQUFDO1FBRUQsT0FBTyxxQkFBcUIsQ0FBQyxLQUFLLEVBQUUsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFBO0lBQ3RELENBQUM7SUFFRCxLQUFLLENBQUMsYUFBYTtRQUNqQixtRkFBbUY7UUFDbkYsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixHQUFHLENBQUMsQ0FBQTtRQUVqRCxJQUFJLENBQUMsc0JBQXNCLEdBQUcsU0FBUyxDQUFBO1FBQ3ZDLE1BQU0sbUJBQW1CLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLElBQUksSUFBSSxDQUFDLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUE7UUFFNUYsb0NBQW9DO1FBQ3BDLElBQUksU0FBUyxDQUFBO1FBRWIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLGVBQWUsRUFBRSxFQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsRUFBRSxrQkFBa0IsRUFBRSxJQUFJLENBQUMsa0JBQWtCLEVBQUUsbUJBQW1CLEVBQUMsQ0FBQyxDQUFDLENBQUE7UUFDOUksSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsZ0JBQWdCO1lBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyxrREFBa0QsQ0FBQyxDQUFBO1FBRWxHLElBQUksQ0FBQztZQUNILE1BQU0sZUFBZSxHQUFHLE1BQU0sSUFBSSxDQUFDLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFDLGVBQWUsRUFBRSxFQUFDLFNBQVMsRUFBRSxtQkFBbUIsRUFBQyxFQUFDLENBQUMsQ0FBQTtZQUUzRyxTQUFTLEdBQUcsZUFBZSxDQUFBO1FBQzdCLENBQUM7UUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1lBQ2YsT0FBTyxDQUFDLEtBQUssQ0FBQyw0QkFBNEIsbUJBQW1CLEVBQUUsQ0FBQyxDQUFBO1lBRWhFLE1BQU0sS0FBSyxDQUFBO1FBQ2IsQ0FBQztRQUVELElBQUksU0FBUyxJQUFJLElBQUksQ0FBQyxzQkFBc0I7WUFBRSxPQUFNO1FBRXBELElBQUksQ0FBQyxRQUFRLENBQUMsRUFBQyxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsQ0FBQyxTQUFTLEVBQUMsQ0FBQyxDQUFBO0lBQzNELENBQUM7SUFFRCxHQUFHLENBQUMsWUFBWTtRQUNkLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ2YsSUFBSSxJQUFJLEdBQUcsWUFBWSxFQUFFLENBQUE7WUFFekIsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDO2dCQUFFLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFBO1lBRXZDLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQTtRQUN0QixDQUFDO0lBQ0gsQ0FBQztJQUVELE1BQU07UUFDSixNQUFNLEVBQUMsa0JBQWtCLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxhQUFhLEVBQUMsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFBO1FBQ3JFLE1BQU0sRUFBQyxRQUFRLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUE7UUFDOUMsTUFBTSxFQUFDLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxPQUFPLEVBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFBO1FBRXRELElBQUksQ0FBQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLEVBQUUsQ0FBQztZQUN2Qyx5REFBeUQ7WUFDekQsT0FBTyxJQUFJLENBQUE7UUFDYixDQUFDO1FBRUQsSUFBSSxDQUFDLFNBQVMsSUFBSSxDQUFDLFFBQVEsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDbEQsZ0RBQWdEO1lBQ2hELE9BQU8sQ0FDTCwwQkFDRyxVQUFVLEVBQ1YsU0FBUyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxJQUFJLGtCQUFrQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFDbEUsQ0FDUCxDQUFBO1FBQ0gsQ0FBQztRQUVELElBQUksQ0FBQyxTQUFTLElBQUksQ0FBQyxRQUFRLElBQUksaUJBQWlCLEVBQUUsQ0FBQztZQUNqRCw0REFBNEQ7WUFDNUQsT0FBTyxJQUFJLENBQUE7UUFDYixDQUFDO1FBRUQsT0FBTyxDQUNMLEtBQUMsa0JBQWtCLENBQUMsUUFBUSxJQUFDLEtBQUssRUFBRSxrQkFBa0IsWUFDcEQsS0FBQyxZQUFZLENBQUMsUUFBUSxJQUFDLEtBQUssRUFBRSxhQUFhLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUNuRCxLQUFDLGFBQWEsQ0FBQyxRQUFRLElBQUMsS0FBSyxFQUFFLFNBQVMsWUFDdEMsTUFBQyxNQUFNLElBQUMsSUFBSSxFQUFFLGVBQWUsSUFBSSxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssYUFDL0MsU0FBUyxJQUFJLEtBQUMsU0FBUyxJQUFDLEtBQUssRUFBRSxLQUFLLEdBQUksRUFDeEMsUUFBUSxJQUNGLEdBQ2MsR0FDSCxHQUNJLENBQy9CLENBQUE7SUFDSCxDQUFDO0NBQ0YsQ0FBQyxDQUFDLENBQUE7QUFFSCxPQUFPLEVBQUMsdUJBQXVCLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUMsQ0FBQTtBQUNqRSxlQUFlLEtBQUssQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbIi8vIEB0cy1jaGVja1xuLyogZXNsaW50LWRpc2FibGUgcmVhY3QvanN4LW1heC1kZXB0aCwgc29ydC1pbXBvcnRzICovXG5pbXBvcnQgUmVhY3QsIHtjcmVhdGVDb250ZXh0LCB1c2VDb250ZXh0LCB1c2VFZmZlY3QsIHVzZUxheW91dEVmZmVjdCwgdXNlTWVtb30gZnJvbSBcInJlYWN0XCJcbmltcG9ydCB7U2hhcGVDb21wb25lbnQsIHNoYXBlQ29tcG9uZW50fSBmcm9tIFwic2V0LXN0YXRlLWNvbXBhcmUvYnVpbGQvc2hhcGUtY29tcG9uZW50LmpzXCJcbmltcG9ydCBTd2l0Y2gsIHtDdXJyZW50U3dpdGNoQ29udGV4dH0gZnJvbSBcIi4vc3dpdGNoXCJcbmltcG9ydCB7YXJyYXlEaWZmZXJlbnQsIHNpbXBsZU9iamVjdERpZmZlcmVudH0gZnJvbSBcInNldC1zdGF0ZS1jb21wYXJlL2J1aWxkL2RpZmYtdXRpbHMuanNcIlxuaW1wb3J0IFByb3BUeXBlcyBmcm9tIFwicHJvcC10eXBlc1wiXG5pbXBvcnQgbWVtbyBmcm9tIFwic2V0LXN0YXRlLWNvbXBhcmUvYnVpbGQvbWVtby5qc1wiXG5pbXBvcnQgcHJvcFR5cGVzRXhhY3QgZnJvbSBcInByb3AtdHlwZXMtZXhhY3RcIlxuaW1wb3J0IHVzZUkxOG4gZnJvbSBcImkxOG4tb24tc3Rlcm9pZHMvYnVpbGQvc3JjL3VzZS1pMThuLmpzXCJcblxuY29uc3QgQ3VycmVudFBhdGhDb250ZXh0ID0gY3JlYXRlQ29udGV4dChbXSlcbmNvbnN0IFBhcmFtc0NvbnRleHQgPSBjcmVhdGVDb250ZXh0KHt9KVxuY29uc3QgUmVxdWlyZUNvbXBvbmVudENvbnRleHQgPSBjcmVhdGVDb250ZXh0KG51bGwpXG5jb25zdCBSb3V0ZUNvbnRleHQgPSBjcmVhdGVDb250ZXh0KG51bGwpXG5jb25zdCB1c2VQYXJhbXMgPSAoKSA9PiB1c2VDb250ZXh0KFBhcmFtc0NvbnRleHQpXG5cbi8qKiBAdHlwZWRlZiB7e3BhcmFtczogUmVjb3JkPHN0cmluZywgc3RyaW5nPn19IFJvdXRlTWF0Y2ggKi9cbi8qKiBAdHlwZWRlZiB7UmVhY3QuQ29tcG9uZW50VHlwZTx7bWF0Y2g6IFJvdXRlTWF0Y2h9Pn0gUm91dGVDb21wb25lbnQgKi9cbi8qKiBAdHlwZWRlZiB7e3JvdXRlRGVmaW5pdGlvbjoge2NvbXBvbmVudDogc3RyaW5nfX19IFJlcXVpcmVDb21wb25lbnRBcmdzICovXG4vKiogQHR5cGVkZWYgeyhhcmdzOiBSZXF1aXJlQ29tcG9uZW50QXJncykgPT4gUm91dGVDb21wb25lbnQgfCBQcm9taXNlPFJvdXRlQ29tcG9uZW50IHwgbnVsbD4gfCBudWxsfSBSZXF1aXJlQ29tcG9uZW50ICovXG5cbi8qKlxuICogQHR5cGVkZWYge29iamVjdH0gUHJvcHNcbiAqIEBwcm9wZXJ0eSB7UmVhY3QuUmVhY3ROb2RlfSBbY2hpbGRyZW5dXG4gKiBAcHJvcGVydHkge3N0cmluZ30gW2NvbXBvbmVudF1cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBbY29tcG9uZW50UGF0aF1cbiAqIEBwcm9wZXJ0eSB7Ym9vbGVhbn0gW2V4YWN0XVxuICogQHByb3BlcnR5IHtib29sZWFufSBbZmFsbGJhY2tdXG4gKiBAcHJvcGVydHkge2Jvb2xlYW59IFtpbmNsdWRlSW5QYXRoXVxuICogQHByb3BlcnR5IHtGdW5jdGlvbn0gW29uTWF0Y2hdXG4gKiBAcHJvcGVydHkge3N0cmluZ3xSZWdFeHB9IFtwYXRoXVxuICovXG4vKipcbiAqIEB0eXBlZGVmIHtvYmplY3R9IFN0YXRlXG4gKiBAcHJvcGVydHkge1JvdXRlQ29tcG9uZW50IHwgbnVsbH0gQ29tcG9uZW50XG4gKiBAcHJvcGVydHkge2Jvb2xlYW4gfCBudWxsfSBjb21wb25lbnROb3RGb3VuZFxuICogQHByb3BlcnR5IHtudW1iZXJ9IGxhc3RNYXRjaFVwZGF0ZVxuICogQHByb3BlcnR5IHtib29sZWFufSBtYXRjaGVzXG4gKi9cbmNvbnN0IFJvdXRlID0gbWVtbyhzaGFwZUNvbXBvbmVudCgvKiogQGF1Z21lbnRzIHtTaGFwZUNvbXBvbmVudDxQcm9wcywgU3RhdGU+fSAqLyBjbGFzcyBSb3V0ZSBleHRlbmRzIFNoYXBlQ29tcG9uZW50IHtcbiAgc3RhdGljIGRlZmF1bHRQcm9wcyA9IHtcbiAgICBleGFjdDogZmFsc2UsXG4gICAgZmFsbGJhY2s6IGZhbHNlLFxuICAgIGluY2x1ZGVJblBhdGg6IHRydWVcbiAgfVxuXG4gIHN0YXRpYyBwcm9wVHlwZXMgPSBwcm9wVHlwZXNFeGFjdCh7XG4gICAgY2hpbGRyZW46IFByb3BUeXBlcy5hbnksXG4gICAgY29tcG9uZW50OiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGNvbXBvbmVudFBhdGg6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgZXhhY3Q6IFByb3BUeXBlcy5ib29sLFxuICAgIGZhbGxiYWNrOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpbmNsdWRlSW5QYXRoOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBvbk1hdGNoOiBQcm9wVHlwZXMuZnVuYyxcbiAgICBwYXRoOiBQcm9wVHlwZXMub25lT2ZUeXBlKFtQcm9wVHlwZXMuc3RyaW5nLCBQcm9wVHlwZXMuaW5zdGFuY2VPZihSZWdFeHApXSlcbiAgfSlcblxuICAvKiogQHR5cGUge1JvdXRlTWF0Y2ggfCBudWxsfSAqL1xuICBtYXRjaCA9IG51bGxcblxuICBsb2FkQ29tcG9uZW50UmVxdWVzdElkID0gMFxuXG4gIC8qKiBAdHlwZSB7QXJyYXk8c3RyaW5nPn0gKi9cbiAgY29tcG9uZW50UGF0aFBhcnRzID0gW11cblxuICBsYXN0TWF0Y2hVcGRhdGUgPSAwXG5cbiAgLyoqIEB0eXBlIHtSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+IHwgbnVsbH0gKi9cbiAgbmV3UGFyYW1zID0gbnVsbFxuXG4gIC8qKiBAdHlwZSB7QXJyYXk8c3RyaW5nPiB8IG51bGx9ICovXG4gIHBhdGhQYXJ0cyA9IG51bGxcbiAgc3RhdGUgPSB7XG4gICAgQ29tcG9uZW50OiBudWxsLFxuICAgIGNvbXBvbmVudE5vdEZvdW5kOiBudWxsLFxuICAgIGxhc3RNYXRjaFVwZGF0ZTogMCxcbiAgICBtYXRjaGVzOiBmYWxzZVxuICB9XG5cbiAgc2V0dXAoKSB7XG4gICAgY29uc3Qge3R9ID0gdXNlSTE4bih7bmFtZXNwYWNlOiBcImpzLmFwaV9tYWtlci5yb3V0ZXIucm91dGVcIn0pXG4gICAgY29uc3Qge3BhdGh9ID0gdGhpcy5wcm9wc1xuICAgIGNvbnN0IHtwYXRoc01hdGNoZWQsIHN3aXRjaEdyb3VwfSA9IHVzZUNvbnRleHQoQ3VycmVudFN3aXRjaENvbnRleHQpXG4gICAgY29uc3QgZ2l2ZW5Sb3V0ZSA9IHVzZUNvbnRleHQoUm91dGVDb250ZXh0KVxuICAgIGNvbnN0IHtwYXRoU2hvd259ID0gc3dpdGNoR3JvdXAuc1xuXG4gICAgdGhpcy5kZWJ1ZyA9IGZhbHNlXG4gICAgdGhpcy5sb2coKCkgPT4gKHtnaXZlblJvdXRlfSkpXG4gICAgdGhpcy50ID0gdFxuXG4gICAgdGhpcy5yZXF1aXJlQ29tcG9uZW50ID0gLyoqIEB0eXBlIHtSZXF1aXJlQ29tcG9uZW50IHwgbnVsbH0gKi8gKHVzZUNvbnRleHQoUmVxdWlyZUNvbXBvbmVudENvbnRleHQpKVxuICAgIHRoaXMuY3VycmVudFBhcmFtcyA9IC8qKiBAdHlwZSB7UmVjb3JkPHN0cmluZywgc3RyaW5nPn0gKi8gKHVzZUNvbnRleHQoUGFyYW1zQ29udGV4dCkpXG4gICAgdGhpcy5jdXJyZW50UGF0aCA9IC8qKiBAdHlwZSB7QXJyYXk8c3RyaW5nPn0gKi8gKHVzZUNvbnRleHQoQ3VycmVudFBhdGhDb250ZXh0KSlcbiAgICB0aGlzLnN3aXRjaEdyb3VwID0gc3dpdGNoR3JvdXBcbiAgICB0aGlzLnJvdXRlUGFydHMgPSB1c2VNZW1vKCgpID0+IGdpdmVuUm91dGU/LnNwbGl0KFwiL1wiKSwgW3BhdGgsIGdpdmVuUm91dGVdKVxuICAgIHRoaXMucGF0aFBhcnRzID0gdXNlTWVtbygoKSA9PiBwYXRoPy5zcGxpdChcIi9cIiksIFtwYXRoXSlcblxuICAgIHRoaXMubmV3Um91dGVQYXJ0cyA9IHVzZU1lbW8oXG4gICAgICAoKSA9PiB7XG4gICAgICAgIGlmICghcGF0aCkge1xuICAgICAgICAgIGlmIChnaXZlblJvdXRlID09IFwiXCIpIHtcbiAgICAgICAgICAgIHJldHVybiBbXVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5yb3V0ZVBhcnRzXG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMucm91dGVQYXJ0cy5zbGljZSh0aGlzLnBhdGhQYXJ0cy5sZW5ndGgsIHRoaXMucm91dGVQYXJ0cy5sZW5ndGgpXG4gICAgICB9LFxuICAgICAgW2dpdmVuUm91dGVdLmNvbmNhdCh0aGlzLnBhdGhQYXJ0cylcbiAgICApXG5cbiAgICB1c2VMYXlvdXRFZmZlY3QoKCkgPT4ge1xuICAgICAgdGhpcy5sb2FkTWF0Y2hlcygpXG4gICAgfSwgW2dpdmVuUm91dGUsIHBhdGgsIHBhdGhzTWF0Y2hlZF0pXG5cbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgaWYgKHRoaXMuaGFzU3dpdGNoTWF0Y2goKSAmJiAhdGhpcy5zLkNvbXBvbmVudCAmJiB0aGlzLnMubWF0Y2hlcykge1xuICAgICAgICBpZiAodGhpcy5wcm9wcy5vbk1hdGNoKSB7XG4gICAgICAgICAgdGhpcy5wcm9wcy5vbk1hdGNoKClcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghdGhpcy5wcm9wcy5jaGlsZHJlbiAmJiAodGhpcy5wcm9wcy5wYXRoIHx8IHRoaXMucHJvcHMuY29tcG9uZW50IHx8IHRoaXMucHJvcHMuY29tcG9uZW50UGF0aCkpIHtcbiAgICAgICAgICB0aGlzLmxvYWRDb21wb25lbnQoKVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICB0aGlzLmxvYWRDb21wb25lbnRSZXF1ZXN0SWQgKz0gMVxuICAgICAgfVxuICAgIH0sIFtwYXRoLCBwYXRoU2hvd24sIHRoaXMucy5tYXRjaGVzXSlcbiAgfVxuXG4gIGhhc1N3aXRjaE1hdGNoID0gKCkgPT4gdGhpcy5zd2l0Y2hHcm91cC5zLnBhdGhTaG93biAmJiB0aGlzLnN3aXRjaEdyb3VwLnMucGF0aFNob3duID09IHRoaXMucGF0aElkKClcblxuICBwYXRoSWQoKSB7XG4gICAgY29uc3Qge2ZhbGxiYWNrfSA9IHRoaXMucFxuICAgIGNvbnN0IHtwYXRofSA9IHRoaXMucHJvcHNcbiAgICBsZXQgcGF0aElkXG5cbiAgICBpZiAoZmFsbGJhY2spIHtcbiAgICAgIHBhdGhJZCA9IFwiW0ZBTExCQUNLXVwiXG4gICAgfSBlbHNlIGlmIChwYXRoKSB7XG4gICAgICBwYXRoSWQgPSBwYXRoXG4gICAgfSBlbHNlIHtcbiAgICAgIHBhdGhJZCA9IFwiW1BBVEgtRU1QVFldXCJcbiAgICB9XG5cbiAgICByZXR1cm4gcGF0aElkXG4gIH1cblxuICBsb2FkTWF0Y2hlcygpIHtcbiAgICBjb25zdCB7bmV3Um91dGVQYXJ0cywgdH0gPSB0aGlzLnR0XG4gICAgY29uc3Qge2NvbXBvbmVudCwgcGF0aH0gPSB0aGlzLnByb3BzXG4gICAgY29uc3Qge2V4YWN0LCBpbmNsdWRlSW5QYXRoLCBmYWxsYmFja30gPSB0aGlzLnBcblxuICAgIGxldCBtYXRjaGVzID0gdHJ1ZVxuICAgIGNvbnN0IHBhcmFtcyA9IHt9XG4gICAgY29uc3QgY29tcG9uZW50UGF0aFBhcnRzID0gWy4uLnRoaXMuY3VycmVudFBhdGhdXG5cbiAgICB0aGlzLmxvZygoKSA9PiBbdGhpcy5wcm9wcy5wYXRoLCBcIlN0YXJ0IGdlbmVyYXRpbmcgY29tcG9uZW50IHBhdGhzXCIsIEpTT04uc3RyaW5naWZ5KGNvbXBvbmVudFBhdGhQYXJ0cyldKVxuXG4gICAgZm9yIChjb25zdCBwYXRoUGFydEluZGV4IGluIHRoaXMucGF0aFBhcnRzKSB7XG4gICAgICBjb25zdCBwYXRoUGFydCA9IHRoaXMucGF0aFBhcnRzW3BhdGhQYXJ0SW5kZXhdXG4gICAgICBjb25zdCB0cmFuc2xhdGVkUGF0aFBhcnQgPSB0KGByb3V0ZXMuJHtwYXRoUGFydH1gLCB7ZGVmYXVsdFZhbHVlOiBwYXRoUGFydH0pXG5cbiAgICAgIGlmICghKHBhdGhQYXJ0SW5kZXggaW4gdGhpcy5yb3V0ZVBhcnRzKSkge1xuICAgICAgICB0aGlzLmxvZygoKSA9PiBgTm8gbWF0Y2ggZm9yOiAke3BhdGhQYXJ0SW5kZXh9YClcbiAgICAgICAgbWF0Y2hlcyA9IGZhbHNlXG4gICAgICAgIGJyZWFrXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHJvdXRlUGFydCA9IGRlY29kZVVSSUNvbXBvbmVudCh0aGlzLnJvdXRlUGFydHNbcGF0aFBhcnRJbmRleF0pXG5cbiAgICAgIGlmIChwYXRoUGFydC5zdGFydHNXaXRoKFwiOlwiKSAmJiByb3V0ZVBhcnQpIHtcbiAgICAgICAgY29uc3QgcGFyYW1OYW1lID0gcGF0aFBhcnQuc2xpY2UoMSwgcGF0aFBhcnQubGVuZ3RoKVxuXG4gICAgICAgIHBhcmFtc1twYXJhbU5hbWVdID0gcm91dGVQYXJ0XG4gICAgICB9IGVsc2UgaWYgKHRyYW5zbGF0ZWRQYXRoUGFydCAhPSByb3V0ZVBhcnQpIHtcbiAgICAgICAgbWF0Y2hlcyA9IGZhbHNlXG4gICAgICAgIGJyZWFrXG4gICAgICB9IGVsc2UgaWYgKCFjb21wb25lbnQgJiYgaW5jbHVkZUluUGF0aCkge1xuICAgICAgICBjb21wb25lbnRQYXRoUGFydHMucHVzaChwYXRoUGFydClcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoZXhhY3QgJiYgbmV3Um91dGVQYXJ0cy5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLmxvZygoKSA9PiBbXCJFeGFjdCBhbmQgbW9yZSByb3V0ZSBwYXJ0c1wiLCB7bmV3Um91dGVQYXJ0cywgcGF0aFBhcnRzOiB0aGlzLnBhdGhQYXJ0cywgcm91dGVQYXJ0czogdGhpcy5yb3V0ZVBhcnRzfV0pXG4gICAgICBtYXRjaGVzID0gZmFsc2VcbiAgICB9IGVsc2UgaWYgKG1hdGNoZXMgJiYgcGF0aCkge1xuICAgICAgbWF0Y2hlcyA9IHRydWVcbiAgICB9IGVsc2UgaWYgKHRoaXMucm91dGVQYXJ0cy5sZW5ndGggPT0gMCkge1xuICAgICAgbWF0Y2hlcyA9IHRydWVcbiAgICB9XG5cbiAgICBjb25zdCBtYXRjaElkID0gdGhpcy5wYXRoSWQoKVxuXG4gICAgaWYgKCFtYXRjaGVzICYmIGZhbGxiYWNrKSB7XG4gICAgICBtYXRjaGVzID0gdHJ1ZVxuICAgIH1cblxuICAgIHRoaXMubG9nKCgpID0+IFt0aGlzLnByb3BzLnBhdGgsIFwiRW5kIGdlbmVyYXRpbmcgY29tcG9uZW50IHBhdGhzXCIsIEpTT04uc3RyaW5naWZ5KGNvbXBvbmVudFBhdGhQYXJ0cyksIHttYXRjaGVzfV0pXG5cbiAgICBpZiAobWF0Y2hlcykge1xuICAgICAgaWYgKGNvbXBvbmVudCAmJiBpbmNsdWRlSW5QYXRoKSB7XG4gICAgICAgIGNvbXBvbmVudFBhdGhQYXJ0cy5wdXNoKGNvbXBvbmVudClcbiAgICAgIH1cblxuICAgICAgY29uc3QgbmV3UGFyYW1zID0gT2JqZWN0LmFzc2lnbih7fSwgdGhpcy5jdXJyZW50UGFyYW1zLCBwYXJhbXMpIC8vIGVzbGludC1kaXNhYmxlLWxpbmUgcHJlZmVyLW9iamVjdC1zcHJlYWRcblxuICAgICAgdGhpcy51cGRhdGVSb3V0ZU1hdGNoU3RhdGUoe2NvbXBvbmVudFBhdGhQYXJ0cywgbWF0Y2g6IHtwYXJhbXN9LCBtYXRjaGVzLCBuZXdQYXJhbXN9KVxuICAgICAgdGhpcy5zd2l0Y2hHcm91cD8uc2V0UGF0aE1hdGNoZWQobWF0Y2hJZCwgdHJ1ZSlcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy51cGRhdGVSb3V0ZU1hdGNoU3RhdGUoe2NvbXBvbmVudFBhdGhQYXJ0czogbnVsbCwgbWF0Y2g6IG51bGwsIG1hdGNoZXMsIG5ld1BhcmFtczogbnVsbH0pXG4gICAgICB0aGlzLnN3aXRjaEdyb3VwPy5zZXRQYXRoTWF0Y2hlZChtYXRjaElkLCBmYWxzZSlcbiAgICB9XG4gIH1cblxuICB1cGRhdGVSb3V0ZU1hdGNoU3RhdGUoe2NvbXBvbmVudFBhdGhQYXJ0cywgbWF0Y2gsIG1hdGNoZXMsIG5ld1BhcmFtc30pIHtcbiAgICBjb25zdCByb3V0ZURhdGFDaGFuZ2VkID0gdGhpcy5yb3V0ZURhdGFDaGFuZ2VkKHtjb21wb25lbnRQYXRoUGFydHMsIG1hdGNoLCBuZXdQYXJhbXN9KVxuXG4gICAgdGhpcy5jb21wb25lbnRQYXRoUGFydHMgPSBjb21wb25lbnRQYXRoUGFydHNcbiAgICB0aGlzLm1hdGNoID0gbWF0Y2hcbiAgICB0aGlzLm5ld1BhcmFtcyA9IG5ld1BhcmFtc1xuICAgIGlmIChyb3V0ZURhdGFDaGFuZ2VkIHx8IHRoaXMucy5tYXRjaGVzICE9IG1hdGNoZXMpIHtcbiAgICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgICBsYXN0TWF0Y2hVcGRhdGU6IHJvdXRlRGF0YUNoYW5nZWQgPyB0aGlzLmxhc3RNYXRjaFVwZGF0ZSArPSAxIDogdGhpcy5zLmxhc3RNYXRjaFVwZGF0ZSxcbiAgICAgICAgbWF0Y2hlc1xuICAgICAgfSlcbiAgICB9XG4gIH1cblxuICByb3V0ZURhdGFDaGFuZ2VkKHtjb21wb25lbnRQYXRoUGFydHMsIG1hdGNoLCBuZXdQYXJhbXN9KSB7XG4gICAgY29uc3QgY3VycmVudENvbXBvbmVudFBhdGhQYXJ0cyA9IHRoaXMuY29tcG9uZW50UGF0aFBhcnRzIHx8IG51bGxcbiAgICBjb25zdCBjdXJyZW50TWF0Y2hQYXJhbXMgPSB0aGlzLm1hdGNoPy5wYXJhbXMgfHwgbnVsbFxuICAgIGNvbnN0IG5leHRNYXRjaFBhcmFtcyA9IG1hdGNoPy5wYXJhbXMgfHwgbnVsbFxuICAgIGNvbnN0IGNvbXBvbmVudFBhdGhQYXJ0c0NoYW5nZWQgPSB0aGlzLm51bGxhYmxlQXJyYXlEaWZmZXJlbnQoY3VycmVudENvbXBvbmVudFBhdGhQYXJ0cywgY29tcG9uZW50UGF0aFBhcnRzKVxuICAgIGNvbnN0IG1hdGNoQ2hhbmdlZCA9IHRoaXMubnVsbGFibGVPYmplY3REaWZmZXJlbnQoY3VycmVudE1hdGNoUGFyYW1zLCBuZXh0TWF0Y2hQYXJhbXMpXG4gICAgY29uc3QgbmV3UGFyYW1zQ2hhbmdlZCA9IHRoaXMubnVsbGFibGVPYmplY3REaWZmZXJlbnQodGhpcy5uZXdQYXJhbXMsIG5ld1BhcmFtcylcblxuICAgIHJldHVybiBjb21wb25lbnRQYXRoUGFydHNDaGFuZ2VkIHx8IG1hdGNoQ2hhbmdlZCB8fCBuZXdQYXJhbXNDaGFuZ2VkXG4gIH1cblxuICBudWxsYWJsZUFycmF5RGlmZmVyZW50KHZhbHVlLCBuZXh0VmFsdWUpIHtcbiAgICBpZiAodmFsdWUgPT09IG51bGwgfHwgbmV4dFZhbHVlID09PSBudWxsKSB7XG4gICAgICByZXR1cm4gdmFsdWUgIT0gbmV4dFZhbHVlXG4gICAgfVxuXG4gICAgcmV0dXJuIGFycmF5RGlmZmVyZW50KHZhbHVlLCBuZXh0VmFsdWUpXG4gIH1cblxuICBudWxsYWJsZU9iamVjdERpZmZlcmVudCh2YWx1ZSwgbmV4dFZhbHVlKSB7XG4gICAgaWYgKHZhbHVlID09PSBudWxsIHx8IG5leHRWYWx1ZSA9PT0gbnVsbCkge1xuICAgICAgcmV0dXJuIHZhbHVlICE9IG5leHRWYWx1ZVxuICAgIH1cblxuICAgIHJldHVybiBzaW1wbGVPYmplY3REaWZmZXJlbnQodmFsdWUsIG5leHRWYWx1ZSwgdHJ1ZSlcbiAgfVxuXG4gIGFzeW5jIGxvYWRDb21wb25lbnQoKSB7XG4gICAgLy8gSWdub3JlIGxhdGUgYXN5bmMgcm91dGUtY29tcG9uZW50IGxvYWRzIGFmdGVyIGEgcm91dGUgc3dpdGNoIG9yIGRpc2NhcmRlZCBtb3VudC5cbiAgICBjb25zdCByZXF1ZXN0SWQgPSB0aGlzLmxvYWRDb21wb25lbnRSZXF1ZXN0SWQgKyAxXG5cbiAgICB0aGlzLmxvYWRDb21wb25lbnRSZXF1ZXN0SWQgPSByZXF1ZXN0SWRcbiAgICBjb25zdCBhY3R1YWxDb21wb25lbnRQYXRoID0gdGhpcy5wcm9wcy5jb21wb25lbnRQYXRoIHx8IHRoaXMudHQuY29tcG9uZW50UGF0aFBhcnRzLmpvaW4oXCIvXCIpXG5cbiAgICAvKiogQHR5cGUge1JvdXRlQ29tcG9uZW50IHwgbnVsbH0gKi9cbiAgICBsZXQgQ29tcG9uZW50XG5cbiAgICB0aGlzLmxvZygoKSA9PiBbXCJsb2FkQ29tcG9uZW50XCIsIHtjb21wb25lbnRQYXRoOiB0aGlzLnByb3BzLmNvbXBvbmVudFBhdGgsIGNvbXBvbmVudFBhdGhQYXJ0czogdGhpcy5jb21wb25lbnRQYXRoUGFydHMsIGFjdHVhbENvbXBvbmVudFBhdGh9XSlcbiAgICBpZiAoIXRoaXMudHQucmVxdWlyZUNvbXBvbmVudCkgdGhyb3cgbmV3IEVycm9yKFwiTm8gJ3JlcXVpcmVDb21wb25lbnQnIGF2YWlsYWJsZSBpbiByb3V0ZSBjb250ZXh0XCIpXG5cbiAgICB0cnkge1xuICAgICAgY29uc3QgY29tcG9uZW50SW1wb3J0ID0gYXdhaXQgdGhpcy50dC5yZXF1aXJlQ29tcG9uZW50KHtyb3V0ZURlZmluaXRpb246IHtjb21wb25lbnQ6IGFjdHVhbENvbXBvbmVudFBhdGh9fSlcblxuICAgICAgQ29tcG9uZW50ID0gY29tcG9uZW50SW1wb3J0XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoYENvdWxkbid0IGZpbmQgY29tcG9uZW50OiAke2FjdHVhbENvbXBvbmVudFBhdGh9YClcblxuICAgICAgdGhyb3cgZXJyb3JcbiAgICB9XG5cbiAgICBpZiAocmVxdWVzdElkICE9IHRoaXMubG9hZENvbXBvbmVudFJlcXVlc3RJZCkgcmV0dXJuXG5cbiAgICB0aGlzLnNldFN0YXRlKHtDb21wb25lbnQsIGNvbXBvbmVudE5vdEZvdW5kOiAhQ29tcG9uZW50fSlcbiAgfVxuXG4gIGxvZyhjYWxsYmFja0FyZ3MpIHtcbiAgICBpZiAodGhpcy5kZWJ1Zykge1xuICAgICAgbGV0IGFyZ3MgPSBjYWxsYmFja0FyZ3MoKVxuXG4gICAgICBpZiAoIUFycmF5LmlzQXJyYXkoYXJncykpIGFyZ3MgPSBbYXJnc11cblxuICAgICAgY29uc29sZS5sb2coLi4uYXJncylcbiAgICB9XG4gIH1cblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge2NvbXBvbmVudFBhdGhQYXJ0cywgbWF0Y2gsIG5ld1BhcmFtcywgbmV3Um91dGVQYXJ0c30gPSB0aGlzLnR0XG4gICAgY29uc3Qge2NoaWxkcmVuLCBjb21wb25lbnQsIHBhdGh9ID0gdGhpcy5wcm9wc1xuICAgIGNvbnN0IHtDb21wb25lbnQsIGNvbXBvbmVudE5vdEZvdW5kLCBtYXRjaGVzfSA9IHRoaXMuc1xuXG4gICAgaWYgKCFtYXRjaGVzIHx8ICF0aGlzLmhhc1N3aXRjaE1hdGNoKCkpIHtcbiAgICAgIC8vIFJvdXRlIGlzbid0IG1hdGNoaW5nIGFuZCBzaG91bGRuJ3QgYmUgcmVuZGVyZWQgYXQgYWxsLlxuICAgICAgcmV0dXJuIG51bGxcbiAgICB9XG5cbiAgICBpZiAoIUNvbXBvbmVudCAmJiAhY2hpbGRyZW4gJiYgIWNvbXBvbmVudE5vdEZvdW5kKSB7XG4gICAgICAvLyBSb3V0ZSBpcyBtYXRjaGluZyBidXQgaGFzbid0IGJlZW4gbG9hZGVkIHlldC5cbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxkaXY+XG4gICAgICAgICAge1wiTG9hZGluZyBcIn1cbiAgICAgICAgICB7Y29tcG9uZW50IHx8IHRoaXMucHJvcHMuY29tcG9uZW50UGF0aCB8fCBjb21wb25lbnRQYXRoUGFydHMuam9pbihcIi9cIil9XG4gICAgICAgIDwvZGl2PlxuICAgICAgKVxuICAgIH1cblxuICAgIGlmICghQ29tcG9uZW50ICYmICFjaGlsZHJlbiAmJiBjb21wb25lbnROb3RGb3VuZCkge1xuICAgICAgLy8gRG9uJ3QgcmVuZGVyIGFueXRoaW5nIGlmIHRoZSBjb21wb25lbnQgY291bGRuJ3QgYmUgZm91bmQuXG4gICAgICByZXR1cm4gbnVsbFxuICAgIH1cblxuICAgIHJldHVybiAoXG4gICAgICA8Q3VycmVudFBhdGhDb250ZXh0LlByb3ZpZGVyIHZhbHVlPXtjb21wb25lbnRQYXRoUGFydHN9PlxuICAgICAgICA8Um91dGVDb250ZXh0LlByb3ZpZGVyIHZhbHVlPXtuZXdSb3V0ZVBhcnRzLmpvaW4oXCIvXCIpfT5cbiAgICAgICAgICA8UGFyYW1zQ29udGV4dC5Qcm92aWRlciB2YWx1ZT17bmV3UGFyYW1zfT5cbiAgICAgICAgICAgIDxTd2l0Y2ggbmFtZT17YHJvdXRlLWdyb3VwLSR7cGF0aH1gfSBzaW5nbGU9e2ZhbHNlfT5cbiAgICAgICAgICAgICAge0NvbXBvbmVudCAmJiA8Q29tcG9uZW50IG1hdGNoPXttYXRjaH0gLz59XG4gICAgICAgICAgICAgIHtjaGlsZHJlbn1cbiAgICAgICAgICAgIDwvU3dpdGNoPlxuICAgICAgICAgIDwvUGFyYW1zQ29udGV4dC5Qcm92aWRlcj5cbiAgICAgICAgPC9Sb3V0ZUNvbnRleHQuUHJvdmlkZXI+XG4gICAgICA8L0N1cnJlbnRQYXRoQ29udGV4dC5Qcm92aWRlcj5cbiAgICApXG4gIH1cbn0pKVxuXG5leHBvcnQge1JlcXVpcmVDb21wb25lbnRDb250ZXh0LCBSb3V0ZUNvbnRleHQsIFN3aXRjaCwgdXNlUGFyYW1zfVxuZXhwb3J0IGRlZmF1bHQgUm91dGVcbiJdfQ==
|
package/build/router/switch.d.ts
CHANGED
|
@@ -1,5 +1,41 @@
|
|
|
1
1
|
export default Switch;
|
|
2
|
-
export
|
|
2
|
+
export type CurrentSwitchContextValue = {
|
|
3
|
+
pathShown: string | undefined;
|
|
4
|
+
pathsMatched: Record<string, boolean>;
|
|
5
|
+
switchGroup: {
|
|
6
|
+
s: State;
|
|
7
|
+
setPathMatched: (path: string, matched: boolean) => void;
|
|
8
|
+
} | null;
|
|
9
|
+
};
|
|
10
|
+
export type Props = {
|
|
11
|
+
children?: React.ReactNode;
|
|
12
|
+
name?: string;
|
|
13
|
+
single?: boolean;
|
|
14
|
+
};
|
|
15
|
+
export type State = {
|
|
16
|
+
lastUpdate: number;
|
|
17
|
+
pathShown: string | undefined;
|
|
18
|
+
pathsMatched: Record<string, boolean>;
|
|
19
|
+
};
|
|
20
|
+
/**
|
|
21
|
+
* @typedef {object} CurrentSwitchContextValue
|
|
22
|
+
* @property {string | undefined} pathShown
|
|
23
|
+
* @property {Record<string, boolean>} pathsMatched
|
|
24
|
+
* @property {{s: State, setPathMatched: (path: string, matched: boolean) => void} | null} switchGroup
|
|
25
|
+
*/
|
|
26
|
+
export const CurrentSwitchContext: React.Context<CurrentSwitchContextValue>;
|
|
27
|
+
/**
|
|
28
|
+
* @typedef {object} Props
|
|
29
|
+
* @property {React.ReactNode} [children]
|
|
30
|
+
* @property {string} [name]
|
|
31
|
+
* @property {boolean} [single]
|
|
32
|
+
*/
|
|
33
|
+
/**
|
|
34
|
+
* @typedef {object} State
|
|
35
|
+
* @property {number} lastUpdate
|
|
36
|
+
* @property {string | undefined} pathShown
|
|
37
|
+
* @property {Record<string, boolean>} pathsMatched
|
|
38
|
+
*/
|
|
3
39
|
declare const Switch: React.NamedExoticComponent<Record<string, any>>;
|
|
4
40
|
import React from "react";
|
|
5
41
|
//# sourceMappingURL=switch.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"switch.d.ts","sourceRoot":"/src/","sources":["router/switch.jsx"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"switch.d.ts","sourceRoot":"/src/","sources":["router/switch.jsx"],"names":[],"mappings":";;eAUc,MAAM,GAAG,SAAS;kBAClB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;iBACvB;QAAC,CAAC,EAAE,KAAK,CAAC;QAAC,cAAc,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,KAAK,IAAI,CAAA;KAAC,GAAG,IAAI;;;eAW3E,KAAK,CAAC,SAAS;WACf,MAAM;aACN,OAAO;;;gBAIP,MAAM;eACN,MAAM,GAAG,SAAS;kBAClB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;AAvBrC;;;;;GAKG;AAEH,4EAIG;AAEH;;;;;GAKG;AACH;;;;;GAKG;AACH,sEA8DG;kBA7FgC,OAAO"}
|
package/build/router/switch.js
CHANGED
|
@@ -1,13 +1,35 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
// @ts-check
|
|
2
3
|
/* eslint-disable sort-imports */
|
|
3
4
|
import React, { createContext } from "react";
|
|
4
|
-
import { shapeComponent } from "set-state-compare/build/shape-component.js";
|
|
5
|
-
import BaseComponent from "../base-component";
|
|
5
|
+
import { ShapeComponent, shapeComponent } from "set-state-compare/build/shape-component.js";
|
|
6
6
|
import PropTypes from "prop-types";
|
|
7
7
|
import memo from "set-state-compare/build/memo.js";
|
|
8
8
|
import propTypesExact from "prop-types-exact";
|
|
9
|
-
|
|
10
|
-
|
|
9
|
+
/**
|
|
10
|
+
* @typedef {object} CurrentSwitchContextValue
|
|
11
|
+
* @property {string | undefined} pathShown
|
|
12
|
+
* @property {Record<string, boolean>} pathsMatched
|
|
13
|
+
* @property {{s: State, setPathMatched: (path: string, matched: boolean) => void} | null} switchGroup
|
|
14
|
+
*/
|
|
15
|
+
const CurrentSwitchContext = createContext(/** @type {CurrentSwitchContextValue} */ ({
|
|
16
|
+
pathShown: undefined,
|
|
17
|
+
pathsMatched: {},
|
|
18
|
+
switchGroup: null
|
|
19
|
+
}));
|
|
20
|
+
/**
|
|
21
|
+
* @typedef {object} Props
|
|
22
|
+
* @property {React.ReactNode} [children]
|
|
23
|
+
* @property {string} [name]
|
|
24
|
+
* @property {boolean} [single]
|
|
25
|
+
*/
|
|
26
|
+
/**
|
|
27
|
+
* @typedef {object} State
|
|
28
|
+
* @property {number} lastUpdate
|
|
29
|
+
* @property {string | undefined} pathShown
|
|
30
|
+
* @property {Record<string, boolean>} pathsMatched
|
|
31
|
+
*/
|
|
32
|
+
const Switch = memo(shapeComponent(/** @augments {ShapeComponent<Props, State>} */ class Switch extends ShapeComponent {
|
|
11
33
|
static defaultProps = {
|
|
12
34
|
name: "[no name]",
|
|
13
35
|
single: true
|
|
@@ -19,14 +41,14 @@ const Switch = memo(shapeComponent(class Switch extends BaseComponent {
|
|
|
19
41
|
});
|
|
20
42
|
pathsMatchedKeys = [];
|
|
21
43
|
state = {
|
|
22
|
-
lastUpdate:
|
|
44
|
+
lastUpdate: Date.now(),
|
|
23
45
|
pathShown: undefined,
|
|
24
46
|
pathsMatched: {}
|
|
25
47
|
};
|
|
26
48
|
setup() { }
|
|
27
49
|
render() {
|
|
28
50
|
const { pathShown, pathsMatched } = this.s;
|
|
29
|
-
return (_jsx(CurrentSwitchContext.Provider, { value: { pathShown, pathsMatched, switchGroup: this }, children: this.props.children }));
|
|
51
|
+
return (_jsx(CurrentSwitchContext.Provider, { value: /** @type {CurrentSwitchContextValue} */ ({ pathShown, pathsMatched, switchGroup: this }), children: this.props.children }));
|
|
30
52
|
}
|
|
31
53
|
pathShown(pathsMatched) {
|
|
32
54
|
for (const pathMatched of this.tt.pathsMatchedKeys) {
|
|
@@ -57,4 +79,4 @@ const Switch = memo(shapeComponent(class Switch extends BaseComponent {
|
|
|
57
79
|
}));
|
|
58
80
|
export { CurrentSwitchContext };
|
|
59
81
|
export default Switch;
|
|
60
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
82
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3dpdGNoLmpzIiwic291cmNlUm9vdCI6Ii9zcmMvIiwic291cmNlcyI6WyJyb3V0ZXIvc3dpdGNoLmpzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsWUFBWTtBQUNaLGlDQUFpQztBQUNqQyxPQUFPLEtBQUssRUFBRSxFQUFDLGFBQWEsRUFBQyxNQUFNLE9BQU8sQ0FBQTtBQUMxQyxPQUFPLEVBQUMsY0FBYyxFQUFFLGNBQWMsRUFBQyxNQUFNLDRDQUE0QyxDQUFBO0FBQ3pGLE9BQU8sU0FBUyxNQUFNLFlBQVksQ0FBQTtBQUNsQyxPQUFPLElBQUksTUFBTSxpQ0FBaUMsQ0FBQTtBQUNsRCxPQUFPLGNBQWMsTUFBTSxrQkFBa0IsQ0FBQTtBQUU3Qzs7Ozs7R0FLRztBQUVILE1BQU0sb0JBQW9CLEdBQUcsYUFBYSxDQUFDLHdDQUF3QyxDQUFDLENBQUM7SUFDbkYsU0FBUyxFQUFFLFNBQVM7SUFDcEIsWUFBWSxFQUFFLEVBQUU7SUFDaEIsV0FBVyxFQUFFLElBQUk7Q0FDbEIsQ0FBQyxDQUFDLENBQUE7QUFFSDs7Ozs7R0FLRztBQUNIOzs7OztHQUtHO0FBQ0gsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQywrQ0FBK0MsQ0FBQyxNQUFNLE1BQU8sU0FBUSxjQUFjO0lBQ3BILE1BQU0sQ0FBQyxZQUFZLEdBQUc7UUFDcEIsSUFBSSxFQUFFLFdBQVc7UUFDakIsTUFBTSxFQUFFLElBQUk7S0FDYixDQUFBO0lBRUQsTUFBTSxDQUFDLFNBQVMsR0FBRyxjQUFjLENBQUM7UUFDaEMsUUFBUSxFQUFFLFNBQVMsQ0FBQyxHQUFHO1FBQ3ZCLElBQUksRUFBRSxTQUFTLENBQUMsTUFBTTtRQUN0QixNQUFNLEVBQUUsU0FBUyxDQUFDLElBQUk7S0FDdkIsQ0FBQyxDQUFBO0lBRUYsZ0JBQWdCLEdBQUcsRUFBRSxDQUFBO0lBQ3JCLEtBQUssR0FBRztRQUNOLFVBQVUsRUFBRSxJQUFJLENBQUMsR0FBRyxFQUFFO1FBQ3RCLFNBQVMsRUFBRSxTQUFTO1FBQ3BCLFlBQVksRUFBRSxFQUFFO0tBQ2pCLENBQUE7SUFFRCxLQUFLLEtBQUksQ0FBQztJQUVWLE1BQU07UUFDSixNQUFNLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBQyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUE7UUFFeEMsT0FBTyxDQUNMLEtBQUMsb0JBQW9CLENBQUMsUUFBUSxJQUFDLEtBQUssRUFBRSx3Q0FBd0MsQ0FBQyxDQUFDLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFDLENBQUMsWUFDMUgsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEdBQ1UsQ0FDakMsQ0FBQTtJQUNILENBQUM7SUFFRCxTQUFTLENBQUMsWUFBWTtRQUNwQixLQUFLLE1BQU0sV0FBVyxJQUFJLElBQUksQ0FBQyxFQUFFLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztZQUNuRCxNQUFNLGFBQWEsR0FBRyxZQUFZLENBQUMsV0FBVyxDQUFDLENBQUE7WUFFL0MsSUFBSSxhQUFhLEVBQUUsQ0FBQztnQkFDbEIsT0FBTyxXQUFXLENBQUE7WUFDcEIsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBRUQsY0FBYyxDQUFDLElBQUksRUFBRSxPQUFPO1FBQzFCLE1BQU0sRUFBQyxnQkFBZ0IsRUFBQyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUE7UUFDbEMsTUFBTSxFQUFDLFlBQVksRUFBQyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUE7UUFFN0IsSUFBSSxDQUFDLElBQUk7WUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLGlCQUFpQixDQUFDLENBQUE7UUFDN0MsSUFBSSxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksT0FBTztZQUFFLE9BQU07UUFFekMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQ3JDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUM3QixDQUFDO1FBRUQsTUFBTSxlQUFlLEdBQUcsRUFBQyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsWUFBWSxFQUFDLENBQUE7UUFFaEQsZUFBZSxDQUFDLElBQUksQ0FBQyxHQUFHLE9BQU8sQ0FBQTtRQUUvQixJQUFJLENBQUMsUUFBUSxDQUFDO1lBQ1osVUFBVSxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDLE9BQU8sRUFBRTtZQUNoRCxTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxlQUFlLENBQUM7WUFDMUMsWUFBWSxFQUFFLGVBQWU7U0FDOUIsQ0FBQyxDQUFBO0lBQ0osQ0FBQztDQUNGLENBQUMsQ0FBQyxDQUFBO0FBRUgsT0FBTyxFQUFDLG9CQUFvQixFQUFDLENBQUE7QUFDN0IsZUFBZSxNQUFNLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAdHMtY2hlY2tcbi8qIGVzbGludC1kaXNhYmxlIHNvcnQtaW1wb3J0cyAqL1xuaW1wb3J0IFJlYWN0LCB7Y3JlYXRlQ29udGV4dH0gZnJvbSBcInJlYWN0XCJcbmltcG9ydCB7U2hhcGVDb21wb25lbnQsIHNoYXBlQ29tcG9uZW50fSBmcm9tIFwic2V0LXN0YXRlLWNvbXBhcmUvYnVpbGQvc2hhcGUtY29tcG9uZW50LmpzXCJcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSBcInByb3AtdHlwZXNcIlxuaW1wb3J0IG1lbW8gZnJvbSBcInNldC1zdGF0ZS1jb21wYXJlL2J1aWxkL21lbW8uanNcIlxuaW1wb3J0IHByb3BUeXBlc0V4YWN0IGZyb20gXCJwcm9wLXR5cGVzLWV4YWN0XCJcblxuLyoqXG4gKiBAdHlwZWRlZiB7b2JqZWN0fSBDdXJyZW50U3dpdGNoQ29udGV4dFZhbHVlXG4gKiBAcHJvcGVydHkge3N0cmluZyB8IHVuZGVmaW5lZH0gcGF0aFNob3duXG4gKiBAcHJvcGVydHkge1JlY29yZDxzdHJpbmcsIGJvb2xlYW4+fSBwYXRoc01hdGNoZWRcbiAqIEBwcm9wZXJ0eSB7e3M6IFN0YXRlLCBzZXRQYXRoTWF0Y2hlZDogKHBhdGg6IHN0cmluZywgbWF0Y2hlZDogYm9vbGVhbikgPT4gdm9pZH0gfCBudWxsfSBzd2l0Y2hHcm91cFxuICovXG5cbmNvbnN0IEN1cnJlbnRTd2l0Y2hDb250ZXh0ID0gY3JlYXRlQ29udGV4dCgvKiogQHR5cGUge0N1cnJlbnRTd2l0Y2hDb250ZXh0VmFsdWV9ICovICh7XG4gIHBhdGhTaG93bjogdW5kZWZpbmVkLFxuICBwYXRoc01hdGNoZWQ6IHt9LFxuICBzd2l0Y2hHcm91cDogbnVsbFxufSkpXG5cbi8qKlxuICogQHR5cGVkZWYge29iamVjdH0gUHJvcHNcbiAqIEBwcm9wZXJ0eSB7UmVhY3QuUmVhY3ROb2RlfSBbY2hpbGRyZW5dXG4gKiBAcHJvcGVydHkge3N0cmluZ30gW25hbWVdXG4gKiBAcHJvcGVydHkge2Jvb2xlYW59IFtzaW5nbGVdXG4gKi9cbi8qKlxuICogQHR5cGVkZWYge29iamVjdH0gU3RhdGVcbiAqIEBwcm9wZXJ0eSB7bnVtYmVyfSBsYXN0VXBkYXRlXG4gKiBAcHJvcGVydHkge3N0cmluZyB8IHVuZGVmaW5lZH0gcGF0aFNob3duXG4gKiBAcHJvcGVydHkge1JlY29yZDxzdHJpbmcsIGJvb2xlYW4+fSBwYXRoc01hdGNoZWRcbiAqL1xuY29uc3QgU3dpdGNoID0gbWVtbyhzaGFwZUNvbXBvbmVudCgvKiogQGF1Z21lbnRzIHtTaGFwZUNvbXBvbmVudDxQcm9wcywgU3RhdGU+fSAqLyBjbGFzcyBTd2l0Y2ggZXh0ZW5kcyBTaGFwZUNvbXBvbmVudCB7XG4gIHN0YXRpYyBkZWZhdWx0UHJvcHMgPSB7XG4gICAgbmFtZTogXCJbbm8gbmFtZV1cIixcbiAgICBzaW5nbGU6IHRydWVcbiAgfVxuXG4gIHN0YXRpYyBwcm9wVHlwZXMgPSBwcm9wVHlwZXNFeGFjdCh7XG4gICAgY2hpbGRyZW46IFByb3BUeXBlcy5hbnksXG4gICAgbmFtZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBzaW5nbGU6IFByb3BUeXBlcy5ib29sXG4gIH0pXG5cbiAgcGF0aHNNYXRjaGVkS2V5cyA9IFtdXG4gIHN0YXRlID0ge1xuICAgIGxhc3RVcGRhdGU6IERhdGUubm93KCksXG4gICAgcGF0aFNob3duOiB1bmRlZmluZWQsXG4gICAgcGF0aHNNYXRjaGVkOiB7fVxuICB9XG5cbiAgc2V0dXAoKSB7fVxuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7cGF0aFNob3duLCBwYXRoc01hdGNoZWR9ID0gdGhpcy5zXG5cbiAgICByZXR1cm4gKFxuICAgICAgPEN1cnJlbnRTd2l0Y2hDb250ZXh0LlByb3ZpZGVyIHZhbHVlPXsvKiogQHR5cGUge0N1cnJlbnRTd2l0Y2hDb250ZXh0VmFsdWV9ICovICh7cGF0aFNob3duLCBwYXRoc01hdGNoZWQsIHN3aXRjaEdyb3VwOiB0aGlzfSl9PlxuICAgICAgICB7dGhpcy5wcm9wcy5jaGlsZHJlbn1cbiAgICAgIDwvQ3VycmVudFN3aXRjaENvbnRleHQuUHJvdmlkZXI+XG4gICAgKVxuICB9XG5cbiAgcGF0aFNob3duKHBhdGhzTWF0Y2hlZCkge1xuICAgIGZvciAoY29uc3QgcGF0aE1hdGNoZWQgb2YgdGhpcy50dC5wYXRoc01hdGNoZWRLZXlzKSB7XG4gICAgICBjb25zdCBpc1BhdGhNYXRjaGVkID0gcGF0aHNNYXRjaGVkW3BhdGhNYXRjaGVkXVxuXG4gICAgICBpZiAoaXNQYXRoTWF0Y2hlZCkge1xuICAgICAgICByZXR1cm4gcGF0aE1hdGNoZWRcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBzZXRQYXRoTWF0Y2hlZChwYXRoLCBtYXRjaGVkKSB7XG4gICAgY29uc3Qge3BhdGhzTWF0Y2hlZEtleXN9ID0gdGhpcy50dFxuICAgIGNvbnN0IHtwYXRoc01hdGNoZWR9ID0gdGhpcy5zXG5cbiAgICBpZiAoIXBhdGgpIHRocm93IG5ldyBFcnJvcihcIk5vICdwYXRoJyBnaXZlblwiKVxuICAgIGlmIChwYXRoc01hdGNoZWRbcGF0aF0gPT0gbWF0Y2hlZCkgcmV0dXJuXG5cbiAgICBpZiAoIXBhdGhzTWF0Y2hlZEtleXMuaW5jbHVkZXMocGF0aCkpIHtcbiAgICAgIHBhdGhzTWF0Y2hlZEtleXMucHVzaChwYXRoKVxuICAgIH1cblxuICAgIGNvbnN0IG5ld1BhdGhzTWF0Y2hlZCA9IHsuLi50aGlzLnMucGF0aHNNYXRjaGVkfVxuXG4gICAgbmV3UGF0aHNNYXRjaGVkW3BhdGhdID0gbWF0Y2hlZFxuXG4gICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICBsYXN0VXBkYXRlOiBNYXRoLnJhbmRvbSgpICsgbmV3IERhdGUoKS5nZXRUaW1lKCksXG4gICAgICBwYXRoU2hvd246IHRoaXMucGF0aFNob3duKG5ld1BhdGhzTWF0Y2hlZCksXG4gICAgICBwYXRoc01hdGNoZWQ6IG5ld1BhdGhzTWF0Y2hlZFxuICAgIH0pXG4gIH1cbn0pKVxuXG5leHBvcnQge0N1cnJlbnRTd2l0Y2hDb250ZXh0fVxuZXhwb3J0IGRlZmF1bHQgU3dpdGNoXG4iXX0=
|
package/build/router.d.ts
CHANGED
|
@@ -1,4 +1,24 @@
|
|
|
1
1
|
declare const _default: React.NamedExoticComponent<Record<string, any>>;
|
|
2
2
|
export default _default;
|
|
3
|
+
export type RouterMatch = {
|
|
4
|
+
params: Record<string, string>;
|
|
5
|
+
parsedRouteDefinition?: object;
|
|
6
|
+
matchingRoute?: object;
|
|
7
|
+
};
|
|
8
|
+
export type Props = {
|
|
9
|
+
history?: object;
|
|
10
|
+
locales: Array<string>;
|
|
11
|
+
notFoundComponent?: React.ComponentType<{
|
|
12
|
+
match: RouterMatch;
|
|
13
|
+
}>;
|
|
14
|
+
requireComponent: (args: {
|
|
15
|
+
routeDefinition: object;
|
|
16
|
+
}) => React.ComponentType<{
|
|
17
|
+
match: RouterMatch;
|
|
18
|
+
}>;
|
|
19
|
+
routeDefinitions?: object;
|
|
20
|
+
routes?: object;
|
|
21
|
+
};
|
|
22
|
+
export type State = Record<string, never>;
|
|
3
23
|
import React from "react";
|
|
4
24
|
//# sourceMappingURL=router.d.ts.map
|
package/build/router.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"router.d.ts","sourceRoot":"/src/","sources":["router.jsx"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"router.d.ts","sourceRoot":"/src/","sources":["router.jsx"],"names":[],"mappings":";;0BASc;IAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAAC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,CAAA;CAAC;;cAGxF,MAAM;aACN,KAAK,CAAC,MAAM,CAAC;wBACb,KAAK,CAAC,aAAa,CAAC;QAAC,KAAK,EAAE,WAAW,CAAA;KAAC,CAAC;sBACzC,CAAC,IAAI,EAAE;QAAC,eAAe,EAAE,MAAM,CAAA;KAAC,KAAK,KAAK,CAAC,aAAa,CAAC;QAAC,KAAK,EAAE,WAAW,CAAA;KAAC,CAAC;uBAC9E,MAAM;aACN,MAAM;;oBAEN,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC;kBAjBC,OAAO"}
|
package/build/router.js
CHANGED
|
@@ -1,13 +1,24 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
// @ts-check
|
|
2
3
|
/* eslint-disable sort-imports */
|
|
3
4
|
import React, { Suspense, memo } from "react";
|
|
4
|
-
import { shapeComponent } from "set-state-compare/build/shape-component.js";
|
|
5
|
-
import BaseComponent from "./base-component";
|
|
5
|
+
import { ShapeComponent, shapeComponent } from "set-state-compare/build/shape-component.js";
|
|
6
6
|
import PropTypes from "prop-types";
|
|
7
7
|
import propTypesExact from "prop-types-exact";
|
|
8
8
|
import usePath from "on-location-changed/build/use-path.js";
|
|
9
9
|
import useRouter from "./use-router";
|
|
10
|
-
|
|
10
|
+
/** @typedef {{params: Record<string, string>, parsedRouteDefinition?: object, matchingRoute?: object}} RouterMatch */
|
|
11
|
+
/**
|
|
12
|
+
* @typedef {object} Props
|
|
13
|
+
* @property {object} [history]
|
|
14
|
+
* @property {Array<string>} locales
|
|
15
|
+
* @property {React.ComponentType<{match: RouterMatch}>} [notFoundComponent]
|
|
16
|
+
* @property {(args: {routeDefinition: object}) => React.ComponentType<{match: RouterMatch}>} requireComponent
|
|
17
|
+
* @property {object} [routeDefinitions]
|
|
18
|
+
* @property {object} [routes]
|
|
19
|
+
*/
|
|
20
|
+
/** @typedef {Record<string, never>} State */
|
|
21
|
+
export default memo(shapeComponent(/** @augments {ShapeComponent<Props, State>} */ class ApiMakerRouter extends ShapeComponent {
|
|
11
22
|
static propTypes = propTypesExact({
|
|
12
23
|
history: PropTypes.object,
|
|
13
24
|
locales: PropTypes.array.isRequired,
|
|
@@ -34,4 +45,4 @@ export default memo(shapeComponent(class ApiMakerRouter extends BaseComponent {
|
|
|
34
45
|
return (_jsx(Suspense, { fallback: _jsx("div", {}), children: _jsx(Component, { match: match }) }));
|
|
35
46
|
}
|
|
36
47
|
}));
|
|
37
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVyLmpzIiwic291cmNlUm9vdCI6Ii9zcmMvIiwic291cmNlcyI6WyJyb3V0ZXIuanN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxZQUFZO0FBQ1osaUNBQWlDO0FBQ2pDLE9BQU8sS0FBSyxFQUFFLEVBQUMsUUFBUSxFQUFFLElBQUksRUFBQyxNQUFNLE9BQU8sQ0FBQTtBQUMzQyxPQUFPLEVBQUMsY0FBYyxFQUFFLGNBQWMsRUFBQyxNQUFNLDRDQUE0QyxDQUFBO0FBQ3pGLE9BQU8sU0FBUyxNQUFNLFlBQVksQ0FBQTtBQUNsQyxPQUFPLGNBQWMsTUFBTSxrQkFBa0IsQ0FBQTtBQUM3QyxPQUFPLE9BQU8sTUFBTSx1Q0FBdUMsQ0FBQTtBQUMzRCxPQUFPLFNBQVMsTUFBTSxjQUFjLENBQUE7QUFFcEMsc0hBQXNIO0FBQ3RIOzs7Ozs7OztHQVFHO0FBQ0gsNkNBQTZDO0FBQzdDLGVBQWUsSUFBSSxDQUFDLGNBQWMsQ0FBQywrQ0FBK0MsQ0FBQyxNQUFNLGNBQWUsU0FBUSxjQUFjO0lBQzVILE1BQU0sQ0FBQyxTQUFTLEdBQUcsY0FBYyxDQUFDO1FBQ2hDLE9BQU8sRUFBRSxTQUFTLENBQUMsTUFBTTtRQUN6QixPQUFPLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxVQUFVO1FBQ25DLGlCQUFpQixFQUFFLFNBQVMsQ0FBQyxXQUFXO1FBQ3hDLGdCQUFnQixFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsVUFBVTtRQUMzQyxnQkFBZ0IsRUFBRSxTQUFTLENBQUMsTUFBTTtRQUNsQyxNQUFNLEVBQUUsU0FBUyxDQUFDLE1BQU07S0FDekIsQ0FBQyxDQUFBO0lBRUYsTUFBTTtRQUNKLE1BQU0sSUFBSSxHQUFHLE9BQU8sRUFBRSxDQUFBO1FBQ3RCLE1BQU0sRUFBQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsZ0JBQWdCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxFQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQTtRQUMzRixNQUFNLEVBQUMsS0FBSyxFQUFDLEdBQUcsU0FBUyxDQUFDLEVBQUMsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsZ0JBQWdCLEVBQUMsQ0FBQyxDQUFBO1FBQ3BFLE1BQU0sRUFBQyxhQUFhLEVBQUMsR0FBRyxLQUFLLENBQUE7UUFFN0IsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ25CLElBQUksaUJBQWlCLEVBQUUsQ0FBQztnQkFDdEIsTUFBTSxpQkFBaUIsR0FBRyxpQkFBaUIsQ0FBQTtnQkFFM0MsT0FBTyxDQUNMLEtBQUMsUUFBUSxJQUFDLFFBQVEsRUFBRSxlQUFPLFlBQ3pCLEtBQUMsaUJBQWlCLElBQUMsS0FBSyxFQUFFLEtBQUssR0FBSSxHQUMxQixDQUNaLENBQUE7WUFDSCxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sT0FBTyxJQUFJLENBQUE7WUFDYixDQUFDO1FBQ0gsQ0FBQztRQUVELE1BQU0sU0FBUyxHQUFHLGdCQUFnQixDQUFDLEVBQUMsZUFBZSxFQUFFLGFBQWEsQ0FBQyxxQkFBcUIsQ0FBQyxlQUFlLEVBQUMsQ0FBQyxDQUFBO1FBRTFHLE9BQU8sQ0FDTCxLQUFDLFFBQVEsSUFBQyxRQUFRLEVBQUUsZUFBTyxZQUN6QixLQUFDLFNBQVMsSUFBQyxLQUFLLEVBQUUsS0FBSyxHQUFJLEdBQ2xCLENBQ1osQ0FBQTtJQUNILENBQUM7Q0FDRixDQUFDLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbIi8vIEB0cy1jaGVja1xuLyogZXNsaW50LWRpc2FibGUgc29ydC1pbXBvcnRzICovXG5pbXBvcnQgUmVhY3QsIHtTdXNwZW5zZSwgbWVtb30gZnJvbSBcInJlYWN0XCJcbmltcG9ydCB7U2hhcGVDb21wb25lbnQsIHNoYXBlQ29tcG9uZW50fSBmcm9tIFwic2V0LXN0YXRlLWNvbXBhcmUvYnVpbGQvc2hhcGUtY29tcG9uZW50LmpzXCJcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSBcInByb3AtdHlwZXNcIlxuaW1wb3J0IHByb3BUeXBlc0V4YWN0IGZyb20gXCJwcm9wLXR5cGVzLWV4YWN0XCJcbmltcG9ydCB1c2VQYXRoIGZyb20gXCJvbi1sb2NhdGlvbi1jaGFuZ2VkL2J1aWxkL3VzZS1wYXRoLmpzXCJcbmltcG9ydCB1c2VSb3V0ZXIgZnJvbSBcIi4vdXNlLXJvdXRlclwiXG5cbi8qKiBAdHlwZWRlZiB7e3BhcmFtczogUmVjb3JkPHN0cmluZywgc3RyaW5nPiwgcGFyc2VkUm91dGVEZWZpbml0aW9uPzogb2JqZWN0LCBtYXRjaGluZ1JvdXRlPzogb2JqZWN0fX0gUm91dGVyTWF0Y2ggKi9cbi8qKlxuICogQHR5cGVkZWYge29iamVjdH0gUHJvcHNcbiAqIEBwcm9wZXJ0eSB7b2JqZWN0fSBbaGlzdG9yeV1cbiAqIEBwcm9wZXJ0eSB7QXJyYXk8c3RyaW5nPn0gbG9jYWxlc1xuICogQHByb3BlcnR5IHtSZWFjdC5Db21wb25lbnRUeXBlPHttYXRjaDogUm91dGVyTWF0Y2h9Pn0gW25vdEZvdW5kQ29tcG9uZW50XVxuICogQHByb3BlcnR5IHsoYXJnczoge3JvdXRlRGVmaW5pdGlvbjogb2JqZWN0fSkgPT4gUmVhY3QuQ29tcG9uZW50VHlwZTx7bWF0Y2g6IFJvdXRlck1hdGNofT59IHJlcXVpcmVDb21wb25lbnRcbiAqIEBwcm9wZXJ0eSB7b2JqZWN0fSBbcm91dGVEZWZpbml0aW9uc11cbiAqIEBwcm9wZXJ0eSB7b2JqZWN0fSBbcm91dGVzXVxuICovXG4vKiogQHR5cGVkZWYge1JlY29yZDxzdHJpbmcsIG5ldmVyPn0gU3RhdGUgKi9cbmV4cG9ydCBkZWZhdWx0IG1lbW8oc2hhcGVDb21wb25lbnQoLyoqIEBhdWdtZW50cyB7U2hhcGVDb21wb25lbnQ8UHJvcHMsIFN0YXRlPn0gKi8gY2xhc3MgQXBpTWFrZXJSb3V0ZXIgZXh0ZW5kcyBTaGFwZUNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSBwcm9wVHlwZXNFeGFjdCh7XG4gICAgaGlzdG9yeTogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBsb2NhbGVzOiBQcm9wVHlwZXMuYXJyYXkuaXNSZXF1aXJlZCxcbiAgICBub3RGb3VuZENvbXBvbmVudDogUHJvcFR5cGVzLmVsZW1lbnRUeXBlLFxuICAgIHJlcXVpcmVDb21wb25lbnQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgcm91dGVEZWZpbml0aW9uczogUHJvcFR5cGVzLm9iamVjdCxcbiAgICByb3V0ZXM6IFByb3BUeXBlcy5vYmplY3RcbiAgfSlcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3QgcGF0aCA9IHVzZVBhdGgoKVxuICAgIGNvbnN0IHtsb2NhbGVzLCBub3RGb3VuZENvbXBvbmVudCwgcmVxdWlyZUNvbXBvbmVudCwgcm91dGVEZWZpbml0aW9ucywgcm91dGVzfSA9IHRoaXMucHJvcHNcbiAgICBjb25zdCB7bWF0Y2h9ID0gdXNlUm91dGVyKHtsb2NhbGVzLCBwYXRoLCByb3V0ZXMsIHJvdXRlRGVmaW5pdGlvbnN9KVxuICAgIGNvbnN0IHttYXRjaGluZ1JvdXRlfSA9IG1hdGNoXG5cbiAgICBpZiAoIW1hdGNoaW5nUm91dGUpIHtcbiAgICAgIGlmIChub3RGb3VuZENvbXBvbmVudCkge1xuICAgICAgICBjb25zdCBOb3RGb3VuZENvbXBvbmVudCA9IG5vdEZvdW5kQ29tcG9uZW50XG5cbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICA8U3VzcGVuc2UgZmFsbGJhY2s9ezxkaXYgLz59PlxuICAgICAgICAgICAgPE5vdEZvdW5kQ29tcG9uZW50IG1hdGNoPXttYXRjaH0gLz5cbiAgICAgICAgICA8L1N1c3BlbnNlPlxuICAgICAgICApXG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gbnVsbFxuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IENvbXBvbmVudCA9IHJlcXVpcmVDb21wb25lbnQoe3JvdXRlRGVmaW5pdGlvbjogbWF0Y2hpbmdSb3V0ZS5wYXJzZWRSb3V0ZURlZmluaXRpb24ucm91dGVEZWZpbml0aW9ufSlcblxuICAgIHJldHVybiAoXG4gICAgICA8U3VzcGVuc2UgZmFsbGJhY2s9ezxkaXYgLz59PlxuICAgICAgICA8Q29tcG9uZW50IG1hdGNoPXttYXRjaH0gLz5cbiAgICAgIDwvU3VzcGVuc2U+XG4gICAgKVxuICB9XG59KSlcbiJdfQ==
|
package/build/routes-native.d.ts
CHANGED
|
@@ -1,7 +1,3 @@
|
|
|
1
|
-
/** @typedef {{type: "pathPart", name: string} | {type: "variable", count: number}} PathPart */
|
|
2
|
-
/** @typedef {{args: Array<unknown>, localizedRoutes?: Record<string, PathPart[]>, pathParts?: PathPart[], url?: boolean}} TranslateRouteArgs */
|
|
3
|
-
/** @typedef {{host?: string, port?: number|string, protocol?: string, translatedRoute: string}} HostRouteArgs */
|
|
4
|
-
/** @typedef {{locale?: string, host?: string, port?: number|string, protocol?: string} & Record<string, unknown>} RouteOptions */
|
|
5
1
|
/**
|
|
6
2
|
* Builds paths and URLs from route definitions for native usage.
|
|
7
3
|
*/
|
|
@@ -15,12 +11,12 @@ export default class ApiMakerRoutesNative {
|
|
|
15
11
|
routeTranslationParts: {};
|
|
16
12
|
/**
|
|
17
13
|
* @param {object} routeDefinitions
|
|
18
|
-
* @param {{localized?: boolean}
|
|
14
|
+
* @param {{localized?: boolean}} [routeDefinitionArgs]
|
|
19
15
|
* @returns {void}
|
|
20
16
|
*/
|
|
21
17
|
loadRouteDefinitions(routeDefinitions: object, routeDefinitionArgs?: {
|
|
22
18
|
localized?: boolean;
|
|
23
|
-
}
|
|
19
|
+
}): void;
|
|
24
20
|
/**
|
|
25
21
|
* @param {object} i18n
|
|
26
22
|
* @returns {void}
|
|
@@ -45,12 +41,10 @@ export type PathPart = {
|
|
|
45
41
|
type: "variable";
|
|
46
42
|
count: number;
|
|
47
43
|
};
|
|
48
|
-
export type
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
url?: boolean;
|
|
53
|
-
};
|
|
44
|
+
export type RoutePathArgument = string | number | boolean;
|
|
45
|
+
export type RouteQueryPrimitive = string | number | boolean | null | undefined;
|
|
46
|
+
export type RouteQueryValue = RouteQueryPrimitive | RouteQueryPrimitive[] | object;
|
|
47
|
+
export type RouteQueryParams = Record<string, RouteQueryValue>;
|
|
54
48
|
export type HostRouteArgs = {
|
|
55
49
|
host?: string;
|
|
56
50
|
port?: number | string;
|
|
@@ -62,5 +56,11 @@ export type RouteOptions = {
|
|
|
62
56
|
host?: string;
|
|
63
57
|
port?: number | string;
|
|
64
58
|
protocol?: string;
|
|
65
|
-
} &
|
|
59
|
+
} & RouteQueryParams;
|
|
60
|
+
export type TranslateRouteArgs = {
|
|
61
|
+
args: Array<RoutePathArgument | RouteOptions>;
|
|
62
|
+
localizedRoutes?: Record<string, PathPart[]>;
|
|
63
|
+
pathParts?: PathPart[];
|
|
64
|
+
url?: boolean;
|
|
65
|
+
};
|
|
66
66
|
//# sourceMappingURL=routes-native.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"routes-native.d.ts","sourceRoot":"/src/","sources":["routes-native.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"routes-native.d.ts","sourceRoot":"/src/","sources":["routes-native.js"],"names":[],"mappings":"AA4BA;;GAEG;AACH;IACE,iDAAiD;IACjD,2BADY;QAAC,SAAS,EAAE,MAAM,MAAM,CAAA;KAAC,EAKpC;IAHC,iBAF4B,MAAM,CAER;IAC1B,wBAA0B;IAC1B,0BAA+B;IAGjC;;;;OAIG;IACH,uCAJW,MAAM,wBACN;QAAC,SAAS,CAAC,EAAE,OAAO,CAAA;KAAC,GACnB,IAAI,CAyDhB;IAED;;;OAGG;IACH,4BAHW,MAAM,GACJ,IAAI,CAiBhB;IAdC,UAAgB;IAgBlB;;;OAGG;IACH,0DAHW,kBAAkB,GAChB,MAAM,CA0DlB;IAED;;;OAGG;IACH,0DAHW,aAAa,GACX,MAAM,CA8BlB;CACF;uBAnNa;IAAC,IAAI,EAAE,UAAU,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAC,GAAG;IAAC,IAAI,EAAE,UAAU,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAC;gCACpE,MAAM,GAAG,MAAM,GAAG,OAAO;kCACzB,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS;8BAC5C,mBAAmB,GAAG,mBAAmB,EAAE,GAAG,MAAM;+BACpD,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC;4BAC/B;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,GAAC,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,eAAe,EAAE,MAAM,CAAA;CAAC;2BACjF;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,GAAC,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAC,GAAG,gBAAgB;;UAG5F,KAAK,CAAC,iBAAiB,GAAG,YAAY,CAAC;sBACvC,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC;gBAC1B,QAAQ,EAAE;UACV,OAAO"}
|