@kaspernj/api-maker 1.0.2159 → 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 +14 -1
- 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 +10 -1
- package/build/bootstrap/attribute-rows.d.ts.map +1 -1
- package/build/bootstrap/attribute-rows.js +14 -5
- package/build/bootstrap/card.d.ts +19 -1
- package/build/bootstrap/card.d.ts.map +1 -1
- package/build/bootstrap/card.js +33 -13
- package/build/bootstrap/checkbox.d.ts +18 -1
- package/build/bootstrap/checkbox.d.ts.map +1 -1
- package/build/bootstrap/checkbox.js +23 -3
- package/build/bootstrap/checkboxes.d.ts +33 -1
- package/build/bootstrap/checkboxes.d.ts.map +1 -1
- package/build/bootstrap/checkboxes.js +50 -17
- 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 +7 -1
- 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 +12 -1
- package/build/bootstrap/sort-link.d.ts.map +1 -1
- package/build/bootstrap/sort-link.js +19 -10
- 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.d.ts +4 -1
- 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 +57 -1
- 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 +56 -1
- package/build/draggable-sort/item.d.ts.map +1 -1
- package/build/draggable-sort/item.js +98 -10
- 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 +24 -1
- 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 +13 -1
- package/build/inputs/attachment.d.ts.map +1 -1
- package/build/inputs/attachment.js +22 -8
- 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 +17 -1
- package/build/inputs/checkbox.d.ts.map +1 -1
- package/build/inputs/checkbox.js +25 -11
- 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 +38 -1
- package/build/inputs/input.d.ts.map +1 -1
- package/build/inputs/input.js +29 -10
- package/build/inputs/money.d.ts +4 -1
- 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 +35 -1
- 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 +32 -1
- 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 +4 -1
- 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 +1 -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 +51 -1
- package/build/router/route.d.ts.map +1 -1
- package/build/router/route.js +48 -12
- package/build/router/switch.d.ts +38 -2
- package/build/router/switch.d.ts.map +1 -1
- package/build/router/switch.js +34 -13
- package/build/router.d.ts +21 -1
- 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 +12 -1
- package/build/super-admin/edit-page/edit-attribute-checkbox.d.ts.map +1 -1
- package/build/super-admin/edit-page/edit-attribute-checkbox.js +22 -8
- package/build/super-admin/edit-page/edit-attribute-content.d.ts +10 -1
- package/build/super-admin/edit-page/edit-attribute-content.d.ts.map +1 -1
- package/build/super-admin/edit-page/edit-attribute-content.js +20 -9
- package/build/super-admin/edit-page/edit-attribute-input.d.ts +10 -1
- 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 +8 -1
- 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 +7 -1
- 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 +6 -1
- 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 +6 -1
- package/build/super-admin/index.d.ts.map +1 -1
- package/build/super-admin/index.js +16 -10
- package/build/super-admin/layout/header/index.d.ts +6 -1
- package/build/super-admin/layout/header/index.d.ts.map +1 -1
- package/build/super-admin/layout/header/index.js +18 -12
- package/build/super-admin/layout/index.d.ts +26 -1
- package/build/super-admin/layout/index.d.ts.map +1 -1
- package/build/super-admin/layout/index.js +41 -7
- package/build/super-admin/layout/menu/index.d.ts +4 -1
- package/build/super-admin/layout/menu/index.d.ts.map +1 -1
- package/build/super-admin/layout/menu/index.js +13 -7
- package/build/super-admin/layout/menu/menu-content.d.ts +4 -1
- 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 +11 -1
- package/build/super-admin/layout/menu/menu-item.d.ts.map +1 -1
- package/build/super-admin/layout/menu/menu-item.js +19 -9
- package/build/super-admin/layout/no-access.d.ts +4 -1
- 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 +6 -1
- 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 +4 -1
- 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 +18 -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 +6 -1
- package/build/super-admin/show-page/index.d.ts.map +1 -1
- package/build/super-admin/show-page/index.js +11 -5
- package/build/super-admin/show-reflection-actions.d.ts +8 -1
- 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 +6 -1
- package/build/super-admin/show-reflection-link.d.ts.map +1 -1
- package/build/super-admin/show-reflection-link.js +12 -5
- package/build/super-admin/show-reflection-page.d.ts +7 -1
- 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 +4 -1
- 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 +4 -1
- 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 +4 -1
- 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 +4 -1
- 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 +4 -1
- 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 +60 -1
- package/build/table/filters/filter-form.d.ts.map +1 -1
- package/build/table/filters/filter-form.js +89 -28
- package/build/table/filters/filter.d.ts +4 -1
- 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 +129 -1
- package/build/table/filters/index.d.ts.map +1 -1
- package/build/table/filters/index.js +26 -9
- package/build/table/filters/load-search-modal.d.ts +132 -1
- package/build/table/filters/load-search-modal.d.ts.map +1 -1
- package/build/table/filters/load-search-modal.js +32 -10
- package/build/table/filters/reflection-element.d.ts +4 -1
- 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 +136 -1
- package/build/table/filters/save-search-modal.d.ts.map +1 -1
- package/build/table/filters/save-search-modal.js +39 -6
- package/build/table/filters/scope-element.d.ts +8 -1
- 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 +9 -1
- 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 +52 -1
- package/build/table/header-column.d.ts.map +1 -1
- package/build/table/header-column.js +39 -10
- package/build/table/header-select.d.ts +20 -1
- package/build/table/header-select.d.ts.map +1 -1
- package/build/table/header-select.js +27 -8
- 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 +138 -1
- 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 +21 -1
- 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 +8 -1
- 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 +7 -1
- 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 +7 -1
- 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 +105 -21
- package/build/table/table.d.ts +273 -1
- package/build/table/table.d.ts.map +1 -1
- package/build/table/table.js +210 -53
- 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 +20 -1
- package/build/table/worker-plugins-check-all-checkbox.d.ts.map +1 -1
- package/build/table/worker-plugins-check-all-checkbox.js +29 -9
- package/build/table/worker-plugins-checkbox.d.ts +7 -1
- package/build/table/worker-plugins-checkbox.d.ts.map +1 -1
- package/build/table/worker-plugins-checkbox.js +14 -8
- 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 +8 -0
- package/build/use-can-can.d.ts.map +1 -1
- package/build/use-can-can.js +39 -13
- package/build/use-collection.d.ts +174 -117
- package/build/use-collection.d.ts.map +1 -1
- package/build/use-collection.js +133 -51
- 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 +165 -243
- package/build/use-model.d.ts.map +1 -1
- package/build/use-model.js +94 -35
- 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 +16 -1
- package/build/utils/button.d.ts.map +1 -1
- package/build/utils/button.js +27 -8
- package/build/utils/card.d.ts +11 -1
- package/build/utils/card.d.ts.map +1 -1
- package/build/utils/card.js +13 -2
- package/build/utils/checkbox.d.ts +14 -1
- package/build/utils/checkbox.d.ts.map +1 -1
- package/build/utils/checkbox.js +22 -9
- package/build/utils/checkboxes.d.ts +27 -1
- package/build/utils/checkboxes.d.ts.map +1 -1
- package/build/utils/checkboxes.js +44 -17
- package/build/utils/default-style.d.ts +11 -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 +9 -7
- package/build/utils/icon.d.ts.map +1 -1
- package/build/utils/icon.js +12 -11
- package/build/utils/invalid-feedback.d.ts +6 -1
- package/build/utils/invalid-feedback.d.ts.map +1 -1
- package/build/utils/invalid-feedback.js +8 -2
- package/build/utils/modal.d.ts +4 -1
- package/build/utils/modal.d.ts.map +1 -1
- package/build/utils/modal.js +11 -9
- package/build/utils/text.d.ts +9 -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 +2 -1
- package/build/with-api-maker.d.ts.map +1 -1
- package/build/with-api-maker.js +2 -1
- package/build/with-collection.d.ts +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 +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 +6 -5
- package/build/base-component.d.ts +0 -4
- 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,18 +46,28 @@ 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;
|
|
65
|
+
state = {
|
|
66
|
+
Component: null,
|
|
67
|
+
componentNotFound: null,
|
|
68
|
+
lastMatchUpdate: 0,
|
|
69
|
+
matches: false
|
|
70
|
+
};
|
|
39
71
|
setup() {
|
|
40
72
|
const { t } = useI18n({ namespace: "js.api_maker.router.route" });
|
|
41
73
|
const { path } = this.props;
|
|
@@ -45,9 +77,9 @@ const Route = memo(shapeComponent(class Route extends BaseComponent {
|
|
|
45
77
|
this.debug = false;
|
|
46
78
|
this.log(() => ({ givenRoute }));
|
|
47
79
|
this.t = t;
|
|
48
|
-
this.requireComponent = useContext(RequireComponentContext);
|
|
49
|
-
this.currentParams = useContext(ParamsContext);
|
|
50
|
-
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));
|
|
51
83
|
this.switchGroup = switchGroup;
|
|
52
84
|
this.routeParts = useMemo(() => givenRoute?.split("/"), [path, givenRoute]);
|
|
53
85
|
this.pathParts = useMemo(() => path?.split("/"), [path]);
|
|
@@ -62,7 +94,6 @@ const Route = memo(shapeComponent(class Route extends BaseComponent {
|
|
|
62
94
|
}
|
|
63
95
|
return this.routeParts.slice(this.pathParts.length, this.routeParts.length);
|
|
64
96
|
}, [givenRoute].concat(this.pathParts));
|
|
65
|
-
this.useStates({ Component: null, componentNotFound: null, lastMatchUpdate: 0, matches: false });
|
|
66
97
|
useLayoutEffect(() => {
|
|
67
98
|
this.loadMatches();
|
|
68
99
|
}, [givenRoute, path, pathsMatched]);
|
|
@@ -155,7 +186,9 @@ const Route = memo(shapeComponent(class Route extends BaseComponent {
|
|
|
155
186
|
}
|
|
156
187
|
updateRouteMatchState({ componentPathParts, match, matches, newParams }) {
|
|
157
188
|
const routeDataChanged = this.routeDataChanged({ componentPathParts, match, newParams });
|
|
158
|
-
this.
|
|
189
|
+
this.componentPathParts = componentPathParts;
|
|
190
|
+
this.match = match;
|
|
191
|
+
this.newParams = newParams;
|
|
159
192
|
if (routeDataChanged || this.s.matches != matches) {
|
|
160
193
|
this.setState({
|
|
161
194
|
lastMatchUpdate: routeDataChanged ? this.lastMatchUpdate += 1 : this.s.lastMatchUpdate,
|
|
@@ -189,8 +222,11 @@ const Route = memo(shapeComponent(class Route extends BaseComponent {
|
|
|
189
222
|
const requestId = this.loadComponentRequestId + 1;
|
|
190
223
|
this.loadComponentRequestId = requestId;
|
|
191
224
|
const actualComponentPath = this.props.componentPath || this.tt.componentPathParts.join("/");
|
|
225
|
+
/** @type {RouteComponent | null} */
|
|
192
226
|
let Component;
|
|
193
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");
|
|
194
230
|
try {
|
|
195
231
|
const componentImport = await this.tt.requireComponent({ routeDefinition: { component: actualComponentPath } });
|
|
196
232
|
Component = componentImport;
|
|
@@ -232,4 +268,4 @@ const Route = memo(shapeComponent(class Route extends BaseComponent {
|
|
|
232
268
|
}));
|
|
233
269
|
export { RequireComponentContext, RouteContext, Switch, useParams };
|
|
234
270
|
export default Route;
|
|
235
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiL3NyYy8iLCJzb3VyY2VzIjpbInJvdXRlci9yb3V0ZS5qc3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLHNEQUFzRDtBQUN0RCxPQUFPLEtBQUssRUFBRSxFQUFDLGFBQWEsRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRSxPQUFPLEVBQUMsTUFBTSxPQUFPLENBQUE7QUFDM0YsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLDRDQUE0QyxDQUFBO0FBQ3pFLE9BQU8sTUFBTSxFQUFFLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSxVQUFVLENBQUE7QUFDckQsT0FBTyxFQUFDLGNBQWMsRUFBRSxxQkFBcUIsRUFBQyxNQUFNLHVDQUF1QyxDQUFBO0FBQzNGLE9BQU8sYUFBYSxNQUFNLG1CQUFtQixDQUFBO0FBQzdDLE9BQU8sU0FBUyxNQUFNLFlBQVksQ0FBQTtBQUNsQyxPQUFPLElBQUksTUFBTSxpQ0FBaUMsQ0FBQTtBQUNsRCxPQUFPLGNBQWMsTUFBTSxrQkFBa0IsQ0FBQTtBQUM3QyxPQUFPLE9BQU8sTUFBTSx3Q0FBd0MsQ0FBQTtBQUU1RCxNQUFNLGtCQUFrQixHQUFHLGFBQWEsQ0FBQyxFQUFFLENBQUMsQ0FBQTtBQUM1QyxNQUFNLGFBQWEsR0FBRyxhQUFhLENBQUMsRUFBRSxDQUFDLENBQUE7QUFDdkMsTUFBTSx1QkFBdUIsR0FBRyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUE7QUFDbkQsTUFBTSxZQUFZLEdBQUcsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFBO0FBQ3hDLE1BQU0sU0FBUyxHQUFHLEdBQUcsRUFBRSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsQ0FBQTtBQUVqRCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sS0FBTSxTQUFRLGFBQWE7SUFDakUsTUFBTSxDQUFDLFlBQVksR0FBRztRQUNwQixLQUFLLEVBQUUsS0FBSztRQUNaLFFBQVEsRUFBRSxLQUFL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LElBQUksRUFBRSxlQUFlLElBQUksRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLGFBQy9DLFNBQVMsSUFBSSxLQUFDLFNBQVMsSUFBQyxLQUFLLEVBQUUsS0FBSyxHQUFJLEVBQ3hDLFFBQVEsSUFDRixHQUNjLEdBQ0gsR0FDSSxDQUMvQixDQUFBO0lBQ0gsQ0FBQztDQUNGLENBQUMsQ0FBQyxDQUFBO0FBRUgsT0FBTyxFQUFDLHVCQUF1QixFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFDLENBQUE7QUFDakUsZUFBZSxLQUFLLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSByZWFjdC9qc3gtbWF4LWRlcHRoLCBzb3J0LWltcG9ydHMgKi9cbmltcG9ydCBSZWFjdCwge2NyZWF0ZUNvbnRleHQsIHVzZUNvbnRleHQsIHVzZUVmZmVjdCwgdXNlTGF5b3V0RWZmZWN0LCB1c2VNZW1vfSBmcm9tIFwicmVhY3RcIlxuaW1wb3J0IHtzaGFwZUNvbXBvbmVudH0gZnJvbSBcInNldC1zdGF0ZS1jb21wYXJlL2J1aWxkL3NoYXBlLWNvbXBvbmVudC5qc1wiXG5pbXBvcnQgU3dpdGNoLCB7Q3VycmVudFN3aXRjaENvbnRleHR9IGZyb20gXCIuL3N3aXRjaFwiXG5pbXBvcnQge2FycmF5RGlmZmVyZW50LCBzaW1wbGVPYmplY3REaWZmZXJlbnR9IGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9idWlsZC9kaWZmLXV0aWxzLmpzXCJcbmltcG9ydCBCYXNlQ29tcG9uZW50IGZyb20gXCIuLi9iYXNlLWNvbXBvbmVudFwiXG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gXCJwcm9wLXR5cGVzXCJcbmltcG9ydCBtZW1vIGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9idWlsZC9tZW1vLmpzXCJcbmltcG9ydCBwcm9wVHlwZXNFeGFjdCBmcm9tIFwicHJvcC10eXBlcy1leGFjdFwiXG5pbXBvcnQgdXNlSTE4biBmcm9tIFwiaTE4bi1vbi1zdGVyb2lkcy9idWlsZC9zcmMvdXNlLWkxOG4uanNcIlxuXG5jb25zdCBDdXJyZW50UGF0aENvbnRleHQgPSBjcmVhdGVDb250ZXh0KFtdKVxuY29uc3QgUGFyYW1zQ29udGV4dCA9IGNyZWF0ZUNvbnRleHQoe30pXG5jb25zdCBSZXF1aXJlQ29tcG9uZW50Q29udGV4dCA9IGNyZWF0ZUNvbnRleHQobnVsbClcbmNvbnN0IFJvdXRlQ29udGV4dCA9IGNyZWF0ZUNvbnRleHQobnVsbClcbmNvbnN0IHVzZVBhcmFtcyA9ICgpID0+IHVzZUNvbnRleHQoUGFyYW1zQ29udGV4dClcblxuY29uc3QgUm91dGUgPSBtZW1vKHNoYXBlQ29tcG9uZW50KGNsYXNzIFJvdXRlIGV4dGVuZHMgQmFzZUNvbXBvbmVudCB7XG4gIHN0YXRpYyBkZWZhdWx0UHJvcHMgPSB7XG4gICAgZXhhY3Q6IGZhbHNlLFxuICAgIGZhbGxiYWNrOiBmYWxzZSxcbiAgICBpbmNsdWRlSW5QYXRoOiB0cnVlXG4gIH1cblxuICBzdGF0aWMgcHJvcFR5cGVzID0gcHJvcFR5cGVzRXhhY3Qoe1xuICAgIGNoaWxkcmVuOiBQcm9wVHlwZXMuYW55LFxuICAgIGNvbXBvbmVudDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBjb21wb25lbnRQYXRoOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGV4YWN0OiBQcm9wVHlwZXMuYm9vbC5pc1JlcXVpcmVkLFxuICAgIGZhbGxiYWNrOiBQcm9wVHlwZXMuYm9vbC5pc1JlcXVpcmVkLFxuICAgIGluY2x1ZGVJblBhdGg6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gICAgb25NYXRjaDogUHJvcFR5cGVzLmZ1bmMsXG4gICAgcGF0aDogUHJvcFR5cGVzLm9uZU9mVHlwZShbUHJvcFR5cGVzLnN0cmluZywgUHJvcFR5cGVzLmluc3RhbmNlT2YoUmVnRXhwKV0pXG4gIH0pXG5cbiAgbWF0Y2ggPSBudWxsXG4gIGxvYWRDb21wb25lbnRSZXF1ZXN0SWQgPSAwXG4gIGNvbXBvbmVudFBhdGhQYXJ0cyA9IFtdXG4gIGxhc3RNYXRjaFVwZGF0ZSA9IDBcbiAgbmV3UGFyYW1zID0gbnVsbFxuICBwYXRoUGFydHMgPSBudWxsXG5cbiAgc2V0dXAoKSB7XG4gICAgY29uc3Qge3R9ID0gdXNlSTE4bih7bmFtZXNwYWNlOiBcImpzLmFwaV9tYWtlci5yb3V0ZXIucm91dGVcIn0pXG4gICAgY29uc3Qge3BhdGh9ID0gdGhpcy5wcm9wc1xuICAgIGNvbnN0IHtwYXRoc01hdGNoZWQsIHN3aXRjaEdyb3VwfSA9IHVzZUNvbnRleHQoQ3VycmVudFN3aXRjaENvbnRleHQpXG4gICAgY29uc3QgZ2l2ZW5Sb3V0ZSA9IHVzZUNvbnRleHQoUm91dGVDb250ZXh0KVxuICAgIGNvbnN0IHtwYXRoU2hvd259ID0gc3dpdGNoR3JvdXAuc1xuXG4gICAgdGhpcy5kZWJ1ZyA9IGZhbHNlXG4gICAgdGhpcy5sb2coKCkgPT4gKHtnaXZlblJvdXRlfSkpXG4gICAgdGhpcy50ID0gdFxuXG4gICAgdGhpcy5yZXF1aXJlQ29tcG9uZW50ID0gdXNlQ29udGV4dChSZXF1aXJlQ29tcG9uZW50Q29udGV4dClcbiAgICB0aGlzLmN1cnJlbnRQYXJhbXMgPSB1c2VDb250ZXh0KFBhcmFtc0NvbnRleHQpXG4gICAgdGhpcy5jdXJyZW50UGF0aCA9IHVzZUNvbnRleHQoQ3VycmVudFBhdGhDb250ZXh0KVxuICAgIHRoaXMuc3dpdGNoR3JvdXAgPSBzd2l0Y2hHcm91cFxuICAgIHRoaXMucm91dGVQYXJ0cyA9IHVzZU1lbW8oKCkgPT4gZ2l2ZW5Sb3V0ZT8uc3BsaXQoXCIvXCIpLCBbcGF0aCwgZ2l2ZW5Sb3V0ZV0pXG4gICAgdGhpcy5wYXRoUGFydHMgPSB1c2VNZW1vKCgpID0+IHBhdGg/LnNwbGl0KFwiL1wiKSwgW3BhdGhdKVxuXG4gICAgdGhpcy5uZXdSb3V0ZVBhcnRzID0gdXNlTWVtbyhcbiAgICAgICgpID0+IHtcbiAgICAgICAgaWYgKCFwYXRoKSB7XG4gICAgICAgICAgaWYgKGdpdmVuUm91dGUgPT0gXCJcIikge1xuICAgICAgICAgICAgcmV0dXJuIFtdXG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnJvdXRlUGFydHNcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5yb3V0ZVBhcnRzLnNsaWNlKHRoaXMucGF0aFBhcnRzLmxlbmd0aCwgdGhpcy5yb3V0ZVBhcnRzLmxlbmd0aClcbiAgICAgIH0sXG4gICAgICBbZ2l2ZW5Sb3V0ZV0uY29uY2F0KHRoaXMucGF0aFBhcnRzKVxuICAgIClcblxuICAgIHRoaXMudXNlU3RhdGVzKHtDb21wb25lbnQ6IG51bGwsIGNvbXBvbmVudE5vdEZvdW5kOiBudWxsLCBsYXN0TWF0Y2hVcGRhdGU6IDAsIG1hdGNoZXM6IGZhbHNlfSlcblxuICAgIHVzZUxheW91dEVmZmVjdCgoKSA9PiB7XG4gICAgICB0aGlzLmxvYWRNYXRjaGVzKClcbiAgICB9LCBbZ2l2ZW5Sb3V0ZSwgcGF0aCwgcGF0aHNNYXRjaGVkXSlcblxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICBpZiAodGhpcy5oYXNTd2l0Y2hNYXRjaCgpICYmICF0aGlzLnMuQ29tcG9uZW50ICYmIHRoaXMucy5tYXRjaGVzKSB7XG4gICAgICAgIGlmICh0aGlzLnByb3BzLm9uTWF0Y2gpIHtcbiAgICAgICAgICB0aGlzLnByb3BzLm9uTWF0Y2goKVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCF0aGlzLnByb3BzLmNoaWxkcmVuICYmICh0aGlzLnByb3BzLnBhdGggfHwgdGhpcy5wcm9wcy5jb21wb25lbnQgfHwgdGhpcy5wcm9wcy5jb21wb25lbnRQYXRoKSkge1xuICAgICAgICAgIHRoaXMubG9hZENvbXBvbmVudCgpXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgIHRoaXMubG9hZENvbXBvbmVudFJlcXVlc3RJZCArPSAxXG4gICAgICB9XG4gICAgfSwgW3BhdGgsIHBhdGhTaG93biwgdGhpcy5zLm1hdGNoZXNdKVxuICB9XG5cbiAgaGFzU3dpdGNoTWF0Y2ggPSAoKSA9PiB0aGlzLnN3aXRjaEdyb3VwLnMucGF0aFNob3duICYmIHRoaXMuc3dpdGNoR3JvdXAucy5wYXRoU2hvd24gPT0gdGhpcy5wYXRoSWQoKVxuXG4gIHBhdGhJZCgpIHtcbiAgICBjb25zdCB7ZmFsbGJhY2t9ID0gdGhpcy5wXG4gICAgY29uc3Qge3BhdGh9ID0gdGhpcy5wcm9wc1xuICAgIGxldCBwYXRoSWRcblxuICAgIGlmIChmYWxsYmFjaykge1xuICAgICAgcGF0aElkID0gXCJbRkFMTEJBQ0tdXCJcbiAgICB9IGVsc2UgaWYgKHBhdGgpIHtcbiAgICAgIHBhdGhJZCA9IHBhdGhcbiAgICB9IGVsc2Uge1xuICAgICAgcGF0aElkID0gXCJbUEFUSC1FTVBUWV1cIlxuICAgIH1cblxuICAgIHJldHVybiBwYXRoSWRcbiAgfVxuXG4gIGxvYWRNYXRjaGVzKCkge1xuICAgIGNvbnN0IHtuZXdSb3V0ZVBhcnRzLCB0fSA9IHRoaXMudHRcbiAgICBjb25zdCB7Y29tcG9uZW50LCBwYXRofSA9IHRoaXMucHJvcHNcbiAgICBjb25zdCB7ZXhhY3QsIGluY2x1ZGVJblBhdGgsIGZhbGxiYWNrfSA9IHRoaXMucFxuXG4gICAgbGV0IG1hdGNoZXMgPSB0cnVlXG4gICAgY29uc3QgcGFyYW1zID0ge31cbiAgICBjb25zdCBjb21wb25lbnRQYXRoUGFydHMgPSBbLi4udGhpcy5jdXJyZW50UGF0aF1cblxuICAgIHRoaXMubG9nKCgpID0+IFt0aGlzLnByb3BzLnBhdGgsIFwiU3RhcnQgZ2VuZXJhdGluZyBjb21wb25lbnQgcGF0aHNcIiwgSlNPTi5zdHJpbmdpZnkoY29tcG9uZW50UGF0aFBhcnRzKV0pXG5cbiAgICBmb3IgKGNvbnN0IHBhdGhQYXJ0SW5kZXggaW4gdGhpcy5wYXRoUGFydHMpIHtcbiAgICAgIGNvbnN0IHBhdGhQYXJ0ID0gdGhpcy5wYXRoUGFydHNbcGF0aFBhcnRJbmRleF1cbiAgICAgIGNvbnN0IHRyYW5zbGF0ZWRQYXRoUGFydCA9IHQoYHJvdXRlcy4ke3BhdGhQYXJ0fWAsIHtkZWZhdWx0VmFsdWU6IHBhdGhQYXJ0fSlcblxuICAgICAgaWYgKCEocGF0aFBhcnRJbmRleCBpbiB0aGlzLnJvdXRlUGFydHMpKSB7XG4gICAgICAgIHRoaXMubG9nKCgpID0+IGBObyBtYXRjaCBmb3I6ICR7cGF0aFBhcnRJbmRleH1gKVxuICAgICAgICBtYXRjaGVzID0gZmFsc2VcbiAgICAgICAgYnJlYWtcbiAgICAgIH1cblxuICAgICAgY29uc3Qgcm91dGVQYXJ0ID0gZGVjb2RlVVJJQ29tcG9uZW50KHRoaXMucm91dGVQYXJ0c1twYXRoUGFydEluZGV4XSlcblxuICAgICAgaWYgKHBhdGhQYXJ0LnN0YXJ0c1dpdGgoXCI6XCIpICYmIHJvdXRlUGFydCkge1xuICAgICAgICBjb25zdCBwYXJhbU5hbWUgPSBwYXRoUGFydC5zbGljZSgxLCBwYXRoUGFydC5sZW5ndGgpXG5cbiAgICAgICAgcGFyYW1zW3BhcmFtTmFtZV0gPSByb3V0ZVBhcnRcbiAgICAgIH0gZWxzZSBpZiAodHJhbnNsYXRlZFBhdGhQYXJ0ICE9IHJvdXRlUGFydCkge1xuICAgICAgICBtYXRjaGVzID0gZmFsc2VcbiAgICAgICAgYnJlYWtcbiAgICAgIH0gZWxzZSBpZiAoIWNvbXBvbmVudCAmJiBpbmNsdWRlSW5QYXRoKSB7XG4gICAgICAgIGNvbXBvbmVudFBhdGhQYXJ0cy5wdXNoKHBhdGhQYXJ0KVxuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChleGFjdCAmJiBuZXdSb3V0ZVBhcnRzLmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMubG9nKCgpID0+IFtcIkV4YWN0IGFuZCBtb3JlIHJvdXRlIHBhcnRzXCIsIHtuZXdSb3V0ZVBhcnRzLCBwYXRoUGFydHM6IHRoaXMucGF0aFBhcnRzLCByb3V0ZVBhcnRzOiB0aGlzLnJvdXRlUGFydHN9XSlcbiAgICAgIG1hdGNoZXMgPSBmYWxzZVxuICAgIH0gZWxzZSBpZiAobWF0Y2hlcyAmJiBwYXRoKSB7XG4gICAgICBtYXRjaGVzID0gdHJ1ZVxuICAgIH0gZWxzZSBpZiAodGhpcy5yb3V0ZVBhcnRzLmxlbmd0aCA9PSAwKSB7XG4gICAgICBtYXRjaGVzID0gdHJ1ZVxuICAgIH1cblxuICAgIGNvbnN0IG1hdGNoSWQgPSB0aGlzLnBhdGhJZCgpXG5cbiAgICBpZiAoIW1hdGNoZXMgJiYgZmFsbGJhY2spIHtcbiAgICAgIG1hdGNoZXMgPSB0cnVlXG4gICAgfVxuXG4gICAgdGhpcy5sb2coKCkgPT4gW3RoaXMucHJvcHMucGF0aCwgXCJFbmQgZ2VuZXJhdGluZyBjb21wb25lbnQgcGF0aHNcIiwgSlNPTi5zdHJpbmdpZnkoY29tcG9uZW50UGF0aFBhcnRzKSwge21hdGNoZXN9XSlcblxuICAgIGlmIChtYXRjaGVzKSB7XG4gICAgICBpZiAoY29tcG9uZW50ICYmIGluY2x1ZGVJblBhdGgpIHtcbiAgICAgICAgY29tcG9uZW50UGF0aFBhcnRzLnB1c2goY29tcG9uZW50KVxuICAgICAgfVxuXG4gICAgICBjb25zdCBuZXdQYXJhbXMgPSBPYmplY3QuYXNzaWduKHt9LCB0aGlzLmN1cnJlbnRQYXJhbXMsIHBhcmFtcykgLy8gZXNsaW50LWRpc2FibGUtbGluZSBwcmVmZXItb2JqZWN0LXNwcmVhZFxuXG4gICAgICB0aGlzLnVwZGF0ZVJvdXRlTWF0Y2hTdGF0ZSh7Y29tcG9uZW50UGF0aFBhcnRzLCBtYXRjaDoge3BhcmFtc30sIG1hdGNoZXMsIG5ld1BhcmFtc30pXG4gICAgICB0aGlzLnN3aXRjaEdyb3VwPy5zZXRQYXRoTWF0Y2hlZChtYXRjaElkLCB0cnVlKVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnVwZGF0ZVJvdXRlTWF0Y2hTdGF0ZSh7Y29tcG9uZW50UGF0aFBhcnRzOiBudWxsLCBtYXRjaDogbnVsbCwgbWF0Y2hlcywgbmV3UGFyYW1zOiBudWxsfSlcbiAgICAgIHRoaXMuc3dpdGNoR3JvdXA/LnNldFBhdGhNYXRjaGVkKG1hdGNoSWQsIGZhbHNlKVxuICAgIH1cbiAgfVxuXG4gIHVwZGF0ZVJvdXRlTWF0Y2hTdGF0ZSh7Y29tcG9uZW50UGF0aFBhcnRzLCBtYXRjaCwgbWF0Y2hlcywgbmV3UGFyYW1zfSkge1xuICAgIGNvbnN0IHJvdXRlRGF0YUNoYW5nZWQgPSB0aGlzLnJvdXRlRGF0YUNoYW5nZWQoe2NvbXBvbmVudFBhdGhQYXJ0cywgbWF0Y2gsIG5ld1BhcmFtc30pXG5cbiAgICB0aGlzLnNldEluc3RhbmNlKHtjb21wb25lbnRQYXRoUGFydHMsIG1hdGNoLCBuZXdQYXJhbXN9KVxuICAgIGlmIChyb3V0ZURhdGFDaGFuZ2VkIHx8IHRoaXMucy5tYXRjaGVzICE9IG1hdGNoZXMpIHtcbiAgICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgICBsYXN0TWF0Y2hVcGRhdGU6IHJvdXRlRGF0YUNoYW5nZWQgPyB0aGlzLmxhc3RNYXRjaFVwZGF0ZSArPSAxIDogdGhpcy5zLmxhc3RNYXRjaFVwZGF0ZSxcbiAgICAgICAgbWF0Y2hlc1xuICAgICAgfSlcbiAgICB9XG4gIH1cblxuICByb3V0ZURhdGFDaGFuZ2VkKHtjb21wb25lbnRQYXRoUGFydHMsIG1hdGNoLCBuZXdQYXJhbXN9KSB7XG4gICAgY29uc3QgY3VycmVudENvbXBvbmVudFBhdGhQYXJ0cyA9IHRoaXMuY29tcG9uZW50UGF0aFBhcnRzIHx8IG51bGxcbiAgICBjb25zdCBjdXJyZW50TWF0Y2hQYXJhbXMgPSB0aGlzLm1hdGNoPy5wYXJhbXMgfHwgbnVsbFxuICAgIGNvbnN0IG5leHRNYXRjaFBhcmFtcyA9IG1hdGNoPy5wYXJhbXMgfHwgbnVsbFxuICAgIGNvbnN0IGNvbXBvbmVudFBhdGhQYXJ0c0NoYW5nZWQgPSB0aGlzLm51bGxhYmxlQXJyYXlEaWZmZXJlbnQoY3VycmVudENvbXBvbmVudFBhdGhQYXJ0cywgY29tcG9uZW50UGF0aFBhcnRzKVxuICAgIGNvbnN0IG1hdGNoQ2hhbmdlZCA9IHRoaXMubnVsbGFibGVPYmplY3REaWZmZXJlbnQoY3VycmVudE1hdGNoUGFyYW1zLCBuZXh0TWF0Y2hQYXJhbXMpXG4gICAgY29uc3QgbmV3UGFyYW1zQ2hhbmdlZCA9IHRoaXMubnVsbGFibGVPYmplY3REaWZmZXJlbnQodGhpcy5uZXdQYXJhbXMsIG5ld1BhcmFtcylcblxuICAgIHJldHVybiBjb21wb25lbnRQYXRoUGFydHNDaGFuZ2VkIHx8IG1hdGNoQ2hhbmdlZCB8fCBuZXdQYXJhbXNDaGFuZ2VkXG4gIH1cblxuICBudWxsYWJsZUFycmF5RGlmZmVyZW50KHZhbHVlLCBuZXh0VmFsdWUpIHtcbiAgICBpZiAodmFsdWUgPT09IG51bGwgfHwgbmV4dFZhbHVlID09PSBudWxsKSB7XG4gICAgICByZXR1cm4gdmFsdWUgIT0gbmV4dFZhbHVlXG4gICAgfVxuXG4gICAgcmV0dXJuIGFycmF5RGlmZmVyZW50KHZhbHVlLCBuZXh0VmFsdWUpXG4gIH1cblxuICBudWxsYWJsZU9iamVjdERpZmZlcmVudCh2YWx1ZSwgbmV4dFZhbHVlKSB7XG4gICAgaWYgKHZhbHVlID09PSBudWxsIHx8IG5leHRWYWx1ZSA9PT0gbnVsbCkge1xuICAgICAgcmV0dXJuIHZhbHVlICE9IG5leHRWYWx1ZVxuICAgIH1cblxuICAgIHJldHVybiBzaW1wbGVPYmplY3REaWZmZXJlbnQodmFsdWUsIG5leHRWYWx1ZSwgdHJ1ZSlcbiAgfVxuXG4gIGFzeW5jIGxvYWRDb21wb25lbnQoKSB7XG4gICAgLy8gSWdub3JlIGxhdGUgYXN5bmMgcm91dGUtY29tcG9uZW50IGxvYWRzIGFmdGVyIGEgcm91dGUgc3dpdGNoIG9yIGRpc2NhcmRlZCBtb3VudC5cbiAgICBjb25zdCByZXF1ZXN0SWQgPSB0aGlzLmxvYWRDb21wb25lbnRSZXF1ZXN0SWQgKyAxXG5cbiAgICB0aGlzLmxvYWRDb21wb25lbnRSZXF1ZXN0SWQgPSByZXF1ZXN0SWRcbiAgICBjb25zdCBhY3R1YWxDb21wb25lbnRQYXRoID0gdGhpcy5wcm9wcy5jb21wb25lbnRQYXRoIHx8IHRoaXMudHQuY29tcG9uZW50UGF0aFBhcnRzLmpvaW4oXCIvXCIpXG4gICAgbGV0IENvbXBvbmVudFxuXG4gICAgdGhpcy5sb2coKCkgPT4gW1wibG9hZENvbXBvbmVudFwiLCB7Y29tcG9uZW50UGF0aDogdGhpcy5wcm9wcy5jb21wb25lbnRQYXRoLCBjb21wb25lbnRQYXRoUGFydHM6IHRoaXMuY29tcG9uZW50UGF0aFBhcnRzLCBhY3R1YWxDb21wb25lbnRQYXRofV0pXG5cbiAgICB0cnkge1xuICAgICAgY29uc3QgY29tcG9uZW50SW1wb3J0ID0gYXdhaXQgdGhpcy50dC5yZXF1aXJlQ29tcG9uZW50KHtyb3V0ZURlZmluaXRpb246IHtjb21wb25lbnQ6IGFjdHVhbENvbXBvbmVudFBhdGh9fSlcblxuICAgICAgQ29tcG9uZW50ID0gY29tcG9uZW50SW1wb3J0XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoYENvdWxkbid0IGZpbmQgY29tcG9uZW50OiAke2FjdHVhbENvbXBvbmVudFBhdGh9YClcblxuICAgICAgdGhyb3cgZXJyb3JcbiAgICB9XG5cbiAgICBpZiAocmVxdWVzdElkICE9IHRoaXMubG9hZENvbXBvbmVudFJlcXVlc3RJZCkgcmV0dXJuXG5cbiAgICB0aGlzLnNldFN0YXRlKHtDb21wb25lbnQsIGNvbXBvbmVudE5vdEZvdW5kOiAhQ29tcG9uZW50fSlcbiAgfVxuXG4gIGxvZyhjYWxsYmFja0FyZ3MpIHtcbiAgICBpZiAodGhpcy5kZWJ1Zykge1xuICAgICAgbGV0IGFyZ3MgPSBjYWxsYmFja0FyZ3MoKVxuXG4gICAgICBpZiAoIUFycmF5LmlzQXJyYXkoYXJncykpIGFyZ3MgPSBbYXJnc11cblxuICAgICAgY29uc29sZS5sb2coLi4uYXJncylcbiAgICB9XG4gIH1cblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge2NvbXBvbmVudFBhdGhQYXJ0cywgbWF0Y2gsIG5ld1BhcmFtcywgbmV3Um91dGVQYXJ0c30gPSB0aGlzLnR0XG4gICAgY29uc3Qge2NoaWxkcmVuLCBjb21wb25lbnQsIHBhdGh9ID0gdGhpcy5wcm9wc1xuICAgIGNvbnN0IHtDb21wb25lbnQsIGNvbXBvbmVudE5vdEZvdW5kLCBtYXRjaGVzfSA9IHRoaXMuc1xuXG4gICAgaWYgKCFtYXRjaGVzIHx8ICF0aGlzLmhhc1N3aXRjaE1hdGNoKCkpIHtcbiAgICAgIC8vIFJvdXRlIGlzbid0IG1hdGNoaW5nIGFuZCBzaG91bGRuJ3QgYmUgcmVuZGVyZWQgYXQgYWxsLlxuICAgICAgcmV0dXJuIG51bGxcbiAgICB9XG5cbiAgICBpZiAoIUNvbXBvbmVudCAmJiAhY2hpbGRyZW4gJiYgIWNvbXBvbmVudE5vdEZvdW5kKSB7XG4gICAgICAvLyBSb3V0ZSBpcyBtYXRjaGluZyBidXQgaGFzbid0IGJlZW4gbG9hZGVkIHlldC5cbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxkaXY+XG4gICAgICAgICAge1wiTG9hZGluZyBcIn1cbiAgICAgICAgICB7Y29tcG9uZW50IHx8IHRoaXMucHJvcHMuY29tcG9uZW50UGF0aCB8fCBjb21wb25lbnRQYXRoUGFydHMuam9pbihcIi9cIil9XG4gICAgICAgIDwvZGl2PlxuICAgICAgKVxuICAgIH1cblxuICAgIGlmICghQ29tcG9uZW50ICYmICFjaGlsZHJlbiAmJiBjb21wb25lbnROb3RGb3VuZCkge1xuICAgICAgLy8gRG9uJ3QgcmVuZGVyIGFueXRoaW5nIGlmIHRoZSBjb21wb25lbnQgY291bGRuJ3QgYmUgZm91bmQuXG4gICAgICByZXR1cm4gbnVsbFxuICAgIH1cblxuICAgIHJldHVybiAoXG4gICAgICA8Q3VycmVudFBhdGhDb250ZXh0LlByb3ZpZGVyIHZhbHVlPXtjb21wb25lbnRQYXRoUGFydHN9PlxuICAgICAgICA8Um91dGVDb250ZXh0LlByb3ZpZGVyIHZhbHVlPXtuZXdSb3V0ZVBhcnRzLmpvaW4oXCIvXCIpfT5cbiAgICAgICAgICA8UGFyYW1zQ29udGV4dC5Qcm92aWRlciB2YWx1ZT17bmV3UGFyYW1zfT5cbiAgICAgICAgICAgIDxTd2l0Y2ggbmFtZT17YHJvdXRlLWdyb3VwLSR7cGF0aH1gfSBzaW5nbGU9e2ZhbHNlfT5cbiAgICAgICAgICAgICAge0NvbXBvbmVudCAmJiA8Q29tcG9uZW50IG1hdGNoPXttYXRjaH0gLz59XG4gICAgICAgICAgICAgIHtjaGlsZHJlbn1cbiAgICAgICAgICAgIDwvU3dpdGNoPlxuICAgICAgICAgIDwvUGFyYW1zQ29udGV4dC5Qcm92aWRlcj5cbiAgICAgICAgPC9Sb3V0ZUNvbnRleHQuUHJvdmlkZXI+XG4gICAgICA8L0N1cnJlbnRQYXRoQ29udGV4dC5Qcm92aWRlcj5cbiAgICApXG4gIH1cbn0pKVxuXG5leHBvcnQge1JlcXVpcmVDb21wb25lbnRDb250ZXh0LCBSb3V0ZUNvbnRleHQsIFN3aXRjaCwgdXNlUGFyYW1zfVxuZXhwb3J0IGRlZmF1bHQgUm91dGVcbiJdfQ==
|
|
271
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiL3NyYy8iLCJzb3VyY2VzIjpbInJvdXRlci9yb3V0ZS5qc3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLFlBQVk7QUFDWixzREFBc0Q7QUFDdEQsT0FBTyxLQUFLLEVBQUUsRUFBQyxhQUFhLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUUsT0FBTyxFQUFDLE1BQU0sT0FBTyxDQUFBO0FBQzNGLE9BQU8sRUFBQyxjQUFjLEVBQUUsY0FBYyxFQUFDLE1BQU0sNENBQTRDLENBQUE7QUFDekYsT0FBTyxNQUFNLEVBQUUsRUFBQyxvQkFBb0IsRUFBQyxNQUFNLFVBQVUsQ0FBQTtBQUNyRCxPQUFPLEVBQUMsY0FBYyxFQUFFLHFCQUFxQixFQUFDLE1BQU0sdUNBQXVDLENBQUE7QUFDM0YsT0FBTyxTQUFTLE1BQU0sWUFBWSxDQUFBO0FBQ2xDLE9BQU8sSUFBSSxNQUFNLGlDQUFpQyxDQUFBO0FBQ2xELE9BQU8sY0FBYyxNQUFNLGtCQUFrQixDQUFBO0FBQzdDLE9BQU8sT0FBTyxNQUFNLHdDQUF3QyxDQUFBO0FBRTVELE1BQU0sa0JBQWtCLEdBQUcsYUFBYSxDQUFDLEVBQUUsQ0FBQyxDQUFBO0FBQzVDLE1BQU0sYUFBYSxHQUFHLGFBQWEsQ0FBQyxFQUFFLENBQUMsQ0FBQTtBQUN2QyxNQUFNLHVCQUF1QixHQUFHLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQTtBQUNuRCxNQUFNLFlBQVksR0FBRyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUE7QUFDeEMsTUFBTSxTQUFTLEdBQUcsR0FBRyxFQUFFLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxDQUFBO0FBRWpELDZEQUE2RDtBQUM3RCx5RUFBeUU7QUFDekUsNkVBQTZFO0FBQzdFLHlIQUF5SDtBQUV6SDs7Ozs7Ozs7OztHQVVHO0FBQ0g7Ozs7OztHQU1HO0FBQ0gsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQywrQ0FBK0MsQ0FBQyxN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QUVELElBQUksQ0FBQyxTQUFTLElBQUksQ0FBQyxRQUFRLElBQUksaUJBQWlCLEVBQUUsQ0FBQztZQUNqRCw0REFBNEQ7WUFDNUQsT0FBTyxJQUFJLENBQUE7UUFDYixDQUFDO1FBRUQsT0FBTyxDQUNMLEtBQUMsa0JBQWtCLENBQUMsUUFBUSxJQUFDLEtBQUssRUFBRSxrQkFBa0IsWUFDcEQsS0FBQyxZQUFZLENBQUMsUUFBUSxJQUFDLEtBQUssRUFBRSxhQUFhLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUNuRCxLQUFDLGFBQWEsQ0FBQyxRQUFRLElBQUMsS0FBSyxFQUFFLFNBQVMsWUFDdEMsTUFBQyxNQUFNLElBQUMsSUFBSSxFQUFFLGVBQWUsSUFBSSxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssYUFDL0MsU0FBUyxJQUFJLEtBQUMsU0FBUyxJQUFDLEtBQUssRUFBRSxLQUFLLEdBQUksRUFDeEMsUUFBUSxJQUNGLEdBQ2MsR0FDSCxHQUNJLENBQy9CLENBQUE7SUFDSCxDQUFDO0NBQ0YsQ0FBQyxDQUFDLENBQUE7QUFFSCxPQUFPLEVBQUMsdUJBQXVCLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUMsQ0FBQTtBQUNqRSxlQUFlLEtBQUssQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbIi8vIEB0cy1jaGVja1xuLyogZXNsaW50LWRpc2FibGUgcmVhY3QvanN4LW1heC1kZXB0aCwgc29ydC1pbXBvcnRzICovXG5pbXBvcnQgUmVhY3QsIHtjcmVhdGVDb250ZXh0LCB1c2VDb250ZXh0LCB1c2VFZmZlY3QsIHVzZUxheW91dEVmZmVjdCwgdXNlTWVtb30gZnJvbSBcInJlYWN0XCJcbmltcG9ydCB7U2hhcGVDb21wb25lbnQsIHNoYXBlQ29tcG9uZW50fSBmcm9tIFwic2V0LXN0YXRlLWNvbXBhcmUvYnVpbGQvc2hhcGUtY29tcG9uZW50LmpzXCJcbmltcG9ydCBTd2l0Y2gsIHtDdXJyZW50U3dpdGNoQ29udGV4dH0gZnJvbSBcIi4vc3dpdGNoXCJcbmltcG9ydCB7YXJyYXlEaWZmZXJlbnQsIHNpbXBsZU9iamVjdERpZmZlcmVudH0gZnJvbSBcInNldC1zdGF0ZS1jb21wYXJlL2J1aWxkL2RpZmYtdXRpbHMuanNcIlxuaW1wb3J0IFByb3BUeXBlcyBmcm9tIFwicHJvcC10eXBlc1wiXG5pbXBvcnQgbWVtbyBmcm9tIFwic2V0LXN0YXRlLWNvbXBhcmUvYnVpbGQvbWVtby5qc1wiXG5pbXBvcnQgcHJvcFR5cGVzRXhhY3QgZnJvbSBcInByb3AtdHlwZXMtZXhhY3RcIlxuaW1wb3J0IHVzZUkxOG4gZnJvbSBcImkxOG4tb24tc3Rlcm9pZHMvYnVpbGQvc3JjL3VzZS1pMThuLmpzXCJcblxuY29uc3QgQ3VycmVudFBhdGhDb250ZXh0ID0gY3JlYXRlQ29udGV4dChbXSlcbmNvbnN0IFBhcmFtc0NvbnRleHQgPSBjcmVhdGVDb250ZXh0KHt9KVxuY29uc3QgUmVxdWlyZUNvbXBvbmVudENvbnRleHQgPSBjcmVhdGVDb250ZXh0KG51bGwpXG5jb25zdCBSb3V0ZUNvbnRleHQgPSBjcmVhdGVDb250ZXh0KG51bGwpXG5jb25zdCB1c2VQYXJhbXMgPSAoKSA9PiB1c2VDb250ZXh0KFBhcmFtc0NvbnRleHQpXG5cbi8qKiBAdHlwZWRlZiB7e3BhcmFtczogUmVjb3JkPHN0cmluZywgc3RyaW5nPn19IFJvdXRlTWF0Y2ggKi9cbi8qKiBAdHlwZWRlZiB7UmVhY3QuQ29tcG9uZW50VHlwZTx7bWF0Y2g6IFJvdXRlTWF0Y2h9Pn0gUm91dGVDb21wb25lbnQgKi9cbi8qKiBAdHlwZWRlZiB7e3JvdXRlRGVmaW5pdGlvbjoge2NvbXBvbmVudDogc3RyaW5nfX19IFJlcXVpcmVDb21wb25lbnRBcmdzICovXG4vKiogQHR5cGVkZWYgeyhhcmdzOiBSZXF1aXJlQ29tcG9uZW50QXJncykgPT4gUm91dGVDb21wb25lbnQgfCBQcm9taXNlPFJvdXRlQ29tcG9uZW50IHwgbnVsbD4gfCBudWxsfSBSZXF1aXJlQ29tcG9uZW50ICovXG5cbi8qKlxuICogQHR5cGVkZWYge29iamVjdH0gUHJvcHNcbiAqIEBwcm9wZXJ0eSB7UmVhY3QuUmVhY3ROb2RlfSBbY2hpbGRyZW5dXG4gKiBAcHJvcGVydHkge3N0cmluZ30gW2NvbXBvbmVudF1cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBbY29tcG9uZW50UGF0aF1cbiAqIEBwcm9wZXJ0eSB7Ym9vbGVhbn0gW2V4YWN0XVxuICogQHByb3BlcnR5IHtib29sZWFufSBbZmFsbGJhY2tdXG4gKiBAcHJvcGVydHkge2Jvb2xlYW59IFtpbmNsdWRlSW5QYXRoXVxuICogQHByb3BlcnR5IHtGdW5jdGlvbn0gW29uTWF0Y2hdXG4gKiBAcHJvcGVydHkge3N0cmluZ3xSZWdFeHB9IFtwYXRoXVxuICovXG4vKipcbiAqIEB0eXBlZGVmIHtvYmplY3R9IFN0YXRlXG4gKiBAcHJvcGVydHkge1JvdXRlQ29tcG9uZW50IHwgbnVsbH0gQ29tcG9uZW50XG4gKiBAcHJvcGVydHkge2Jvb2xlYW4gfCBudWxsfSBjb21wb25lbnROb3RGb3VuZFxuICogQHByb3BlcnR5IHtudW1iZXJ9IGxhc3RNYXRjaFVwZGF0ZVxuICogQHByb3BlcnR5IHtib29sZWFufSBtYXRjaGVzXG4gKi9cbmNvbnN0IFJvdXRlID0gbWVtbyhzaGFwZUNvbXBvbmVudCgvKiogQGF1Z21lbnRzIHtTaGFwZUNvbXBvbmVudDxQcm9wcywgU3RhdGU+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
|
|
3
|
-
|
|
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
|
+
*/
|
|
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
|
|
@@ -18,16 +40,15 @@ const Switch = memo(shapeComponent(class Switch extends BaseComponent {
|
|
|
18
40
|
single: PropTypes.bool
|
|
19
41
|
});
|
|
20
42
|
pathsMatchedKeys = [];
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
}
|
|
43
|
+
state = {
|
|
44
|
+
lastUpdate: Date.now(),
|
|
45
|
+
pathShown: undefined,
|
|
46
|
+
pathsMatched: {}
|
|
47
|
+
};
|
|
48
|
+
setup() { }
|
|
28
49
|
render() {
|
|
29
50
|
const { pathShown, pathsMatched } = this.s;
|
|
30
|
-
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 }));
|
|
31
52
|
}
|
|
32
53
|
pathShown(pathsMatched) {
|
|
33
54
|
for (const pathMatched of this.tt.pathsMatchedKeys) {
|
|
@@ -58,4 +79,4 @@ const Switch = memo(shapeComponent(class Switch extends BaseComponent {
|
|
|
58
79
|
}));
|
|
59
80
|
export { CurrentSwitchContext };
|
|
60
81
|
export default Switch;
|
|
61
|
-
//# 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
|
-
declare const _default: React.
|
|
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"}
|