@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
|
@@ -1,3 +1,28 @@
|
|
|
1
|
+
/** @typedef {object | string | number | boolean | null | undefined | Array<object | string | number | boolean | null | undefined>} RequestValue */
|
|
2
|
+
/** @typedef {Record<string, RequestValue>} RequestData */
|
|
3
|
+
/**
|
|
4
|
+
* @typedef {object} WebsocketProgressData
|
|
5
|
+
* @property {number | undefined} count
|
|
6
|
+
* @property {number | undefined} progress
|
|
7
|
+
* @property {number | undefined} total
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* @typedef {RequestData & {
|
|
11
|
+
* command_event_sequence?: number,
|
|
12
|
+
* count?: number,
|
|
13
|
+
* message?: string,
|
|
14
|
+
* progress?: number,
|
|
15
|
+
* request_id: number,
|
|
16
|
+
* response?: RequestData,
|
|
17
|
+
* total?: number,
|
|
18
|
+
* type: string
|
|
19
|
+
* }} WebsocketResponseData
|
|
20
|
+
*/
|
|
21
|
+
/**
|
|
22
|
+
* @typedef {object} WebsocketRequestSubscription
|
|
23
|
+
* @property {(action: string, data: RequestData) => void} perform
|
|
24
|
+
* @property {() => void} unsubscribe
|
|
25
|
+
*/
|
|
1
26
|
/** Shared websocket request client for ApiMaker command/service execution. */
|
|
2
27
|
export default class ApiMakerWebsocketRequestClient {
|
|
3
28
|
/** @returns {ApiMakerWebsocketRequestClient} */
|
|
@@ -26,24 +51,24 @@ export default class ApiMakerWebsocketRequestClient {
|
|
|
26
51
|
/**
|
|
27
52
|
* @param {object} args
|
|
28
53
|
* @param {boolean} [args.cacheResponse]
|
|
29
|
-
* @param {
|
|
54
|
+
* @param {RequestData} [args.global]
|
|
30
55
|
* @param {(value: string) => void} [args.onLog]
|
|
31
|
-
* @param {(value:
|
|
32
|
-
* @param {(value:
|
|
33
|
-
* @param {
|
|
34
|
-
* @returns {Promise<
|
|
56
|
+
* @param {(value: WebsocketProgressData) => void} [args.onProgress]
|
|
57
|
+
* @param {(value: WebsocketResponseData) => void} [args.onReceived]
|
|
58
|
+
* @param {RequestData} args.request
|
|
59
|
+
* @returns {Promise<RequestData>}
|
|
35
60
|
*/
|
|
36
61
|
perform({ cacheResponse, global, onLog, onProgress, onReceived, request }: {
|
|
37
62
|
cacheResponse?: boolean;
|
|
38
|
-
global?:
|
|
63
|
+
global?: RequestData;
|
|
39
64
|
onLog?: (value: string) => void;
|
|
40
|
-
onProgress?: (value:
|
|
41
|
-
onReceived?: (value:
|
|
42
|
-
request:
|
|
43
|
-
}): Promise<
|
|
44
|
-
/** @returns {
|
|
45
|
-
ensureSubscription():
|
|
46
|
-
subscription:
|
|
65
|
+
onProgress?: (value: WebsocketProgressData) => void;
|
|
66
|
+
onReceived?: (value: WebsocketResponseData) => void;
|
|
67
|
+
request: RequestData;
|
|
68
|
+
}): Promise<RequestData>;
|
|
69
|
+
/** @returns {WebsocketRequestSubscription} */
|
|
70
|
+
ensureSubscription(): WebsocketRequestSubscription;
|
|
71
|
+
subscription: import("./channels-consumer.js").ActionCableSubscription;
|
|
47
72
|
/** @returns {Promise<void>} */
|
|
48
73
|
waitForSubscription(): Promise<void>;
|
|
49
74
|
/** @returns {void} */
|
|
@@ -70,10 +95,10 @@ export default class ApiMakerWebsocketRequestClient {
|
|
|
70
95
|
/** @returns {void} */
|
|
71
96
|
onRejected: () => void;
|
|
72
97
|
/**
|
|
73
|
-
* @param {
|
|
98
|
+
* @param {WebsocketResponseData} data
|
|
74
99
|
* @returns {void}
|
|
75
100
|
*/
|
|
76
|
-
onReceived: (data:
|
|
101
|
+
onReceived: (data: WebsocketResponseData) => void;
|
|
77
102
|
/**
|
|
78
103
|
* @param {Error} error
|
|
79
104
|
* @returns {void}
|
|
@@ -84,4 +109,25 @@ export default class ApiMakerWebsocketRequestClient {
|
|
|
84
109
|
/** @returns {void} */
|
|
85
110
|
reset(): void;
|
|
86
111
|
}
|
|
112
|
+
export type RequestValue = object | string | number | boolean | null | undefined | Array<object | string | number | boolean | null | undefined>;
|
|
113
|
+
export type RequestData = Record<string, RequestValue>;
|
|
114
|
+
export type WebsocketProgressData = {
|
|
115
|
+
count: number | undefined;
|
|
116
|
+
progress: number | undefined;
|
|
117
|
+
total: number | undefined;
|
|
118
|
+
};
|
|
119
|
+
export type WebsocketResponseData = RequestData & {
|
|
120
|
+
command_event_sequence?: number;
|
|
121
|
+
count?: number;
|
|
122
|
+
message?: string;
|
|
123
|
+
progress?: number;
|
|
124
|
+
request_id: number;
|
|
125
|
+
response?: RequestData;
|
|
126
|
+
total?: number;
|
|
127
|
+
type: string;
|
|
128
|
+
};
|
|
129
|
+
export type WebsocketRequestSubscription = {
|
|
130
|
+
perform: (action: string, data: RequestData) => void;
|
|
131
|
+
unsubscribe: () => void;
|
|
132
|
+
};
|
|
87
133
|
//# sourceMappingURL=websocket-request-client.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"websocket-request-client.d.ts","sourceRoot":"/src/","sources":["websocket-request-client.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"websocket-request-client.d.ts","sourceRoot":"/src/","sources":["websocket-request-client.js"],"names":[],"mappings":"AAQA,mJAAmJ;AACnJ,0DAA0D;AAC1D;;;;;GAKG;AACH;;;;;;;;;;;GAWG;AACH;;;;GAIG;AAEH,8EAA8E;AAC9E;IAGE,gDAAgD;IAChD,kBADc,8BAA8B,CAO3C;IAED,sBAAsB;IACtB,uBADc,IAAI,CAQjB;IAnBD,mBAAgB;IAuBd,yBAAyB;IACzB,uBAA0B;IAC1B,oBAAyB;IACzB,iCAAsC;IACtC,kBAAuB;IACvB,0BAA8B;IAGhC,wBAAwB;IACxB,wBADc,MAAM,CAGnB;IAED;;;;;;OAMG;IACH,4BAHG;QAAsB,SAAS,GAAvB,MAAM;KACd,GAAU,OAAO,CAAC,IAAI,CAAC,CAqBzB;IAED;;;;;;;;;OASG;IACH,2EARG;QAAuB,aAAa,GAA5B,OAAO;QACY,MAAM,GAAzB,WAAW;QACoB,KAAK,GAApC,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI;QACuB,UAAU,GAAxD,CAAC,KAAK,EAAE,qBAAqB,KAAK,IAAI;QACQ,UAAU,GAAxD,CAAC,KAAK,EAAE,qBAAqB,KAAK,IAAI;QACpB,OAAO,EAAzB,WAAW;KACnB,GAAU,OAAO,CAAC,WAAW,CAAC,CAmDhC;IAED,8CAA8C;IAC9C,sBADc,4BAA4B,CAmBzC;IAZG,uEAQC;IAML,+BAA+B;IAC/B,uBADc,OAAO,CAAC,IAAI,CAAC,CAa1B;IAED,sBAAsB;IACtB,iCADc,IAAI,CAMjB;IAJC,uCAGE;IAFA,sDAA8C;IAC9C,uDAA4C;IAIhD;;;OAGG;IACH,8BAHW,MAAM,GACJ,MAAM,CAQlB;IAED;;;OAGG;IACH,8BAHW,MAAM,GACJ,IAAI,CAqDhB;IAED,sBAAsB;IACtB,wBADc,IAAI,CAOjB;IAED,sBAAsB;IACtB,mBADc,IAAI,CAMjB;IAED,sBAAsB;IACtB,sBADc,IAAI,CAmBjB;IAED,sBAAsB;IACtB,kBADc,IAAI,CAgBjB;IAED;;;OAGG;IACH,aAAc,MAHH,qBAGO,KAFL,IAAI,CA6ChB;IAED;;;OAGG;IACH,6BAHW,KAAK,GACH,IAAI,CAahB;IAED,sBAAsB;IACtB,4BADc,IAAI,CAUjB;IAED,sBAAsB;IACtB,SADc,IAAI,CAmBjB;CACF;2BApaa,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,GAAG,KAAK,CAAC,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC;0BACpH,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC;;WAG5B,MAAM,GAAG,SAAS;cAClB,MAAM,GAAG,SAAS;WAClB,MAAM,GAAG,SAAS;;oCAGnB,WAAW,GAAG;IACtB,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,WAAW,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAA;CACb;;aAIU,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,KAAK,IAAI;iBAC3C,MAAM,IAAI"}
|
|
@@ -1,8 +1,34 @@
|
|
|
1
|
+
// @ts-check
|
|
1
2
|
import CustomError from "./custom-error.js";
|
|
2
3
|
import Logger from "./logger.js";
|
|
3
4
|
import channelsConsumer from "./channels-consumer.js";
|
|
4
5
|
const logger = new Logger({ name: "ApiMaker / WebsocketRequestClient" });
|
|
5
6
|
const shared = {};
|
|
7
|
+
/** @typedef {object | string | number | boolean | null | undefined | Array<object | string | number | boolean | null | undefined>} RequestValue */
|
|
8
|
+
/** @typedef {Record<string, RequestValue>} RequestData */
|
|
9
|
+
/**
|
|
10
|
+
* @typedef {object} WebsocketProgressData
|
|
11
|
+
* @property {number | undefined} count
|
|
12
|
+
* @property {number | undefined} progress
|
|
13
|
+
* @property {number | undefined} total
|
|
14
|
+
*/
|
|
15
|
+
/**
|
|
16
|
+
* @typedef {RequestData & {
|
|
17
|
+
* command_event_sequence?: number,
|
|
18
|
+
* count?: number,
|
|
19
|
+
* message?: string,
|
|
20
|
+
* progress?: number,
|
|
21
|
+
* request_id: number,
|
|
22
|
+
* response?: RequestData,
|
|
23
|
+
* total?: number,
|
|
24
|
+
* type: string
|
|
25
|
+
* }} WebsocketResponseData
|
|
26
|
+
*/
|
|
27
|
+
/**
|
|
28
|
+
* @typedef {object} WebsocketRequestSubscription
|
|
29
|
+
* @property {(action: string, data: RequestData) => void} perform
|
|
30
|
+
* @property {() => void} unsubscribe
|
|
31
|
+
*/
|
|
6
32
|
/** Shared websocket request client for ApiMaker command/service execution. */
|
|
7
33
|
export default class ApiMakerWebsocketRequestClient {
|
|
8
34
|
idleWaiters = [];
|
|
@@ -21,7 +47,7 @@ export default class ApiMakerWebsocketRequestClient {
|
|
|
21
47
|
shared.currentApiMakerWebsocketRequestClient.reset();
|
|
22
48
|
delete shared.currentApiMakerWebsocketRequestClient;
|
|
23
49
|
}
|
|
24
|
-
/**
|
|
50
|
+
/** Initializes one websocket request client instance and its request caches. */
|
|
25
51
|
constructor() {
|
|
26
52
|
this.currentRequestId = 1;
|
|
27
53
|
this.skipReconnect = false;
|
|
@@ -62,12 +88,12 @@ export default class ApiMakerWebsocketRequestClient {
|
|
|
62
88
|
/**
|
|
63
89
|
* @param {object} args
|
|
64
90
|
* @param {boolean} [args.cacheResponse]
|
|
65
|
-
* @param {
|
|
91
|
+
* @param {RequestData} [args.global]
|
|
66
92
|
* @param {(value: string) => void} [args.onLog]
|
|
67
|
-
* @param {(value:
|
|
68
|
-
* @param {(value:
|
|
69
|
-
* @param {
|
|
70
|
-
* @returns {Promise<
|
|
93
|
+
* @param {(value: WebsocketProgressData) => void} [args.onProgress]
|
|
94
|
+
* @param {(value: WebsocketResponseData) => void} [args.onReceived]
|
|
95
|
+
* @param {RequestData} args.request
|
|
96
|
+
* @returns {Promise<RequestData>}
|
|
71
97
|
*/
|
|
72
98
|
perform({ cacheResponse, global, onLog, onProgress, onReceived, request }) {
|
|
73
99
|
const fingerprint = JSON.stringify({ global, request });
|
|
@@ -112,7 +138,7 @@ export default class ApiMakerWebsocketRequestClient {
|
|
|
112
138
|
});
|
|
113
139
|
return promise;
|
|
114
140
|
}
|
|
115
|
-
/** @returns {
|
|
141
|
+
/** @returns {WebsocketRequestSubscription} */
|
|
116
142
|
ensureSubscription() {
|
|
117
143
|
if (!this.subscription) {
|
|
118
144
|
logger.debug("Creating websocket request subscription");
|
|
@@ -248,7 +274,7 @@ export default class ApiMakerWebsocketRequestClient {
|
|
|
248
274
|
this.resetSubscriptionReadyPromise();
|
|
249
275
|
};
|
|
250
276
|
/**
|
|
251
|
-
* @param {
|
|
277
|
+
* @param {WebsocketResponseData} data
|
|
252
278
|
* @returns {void}
|
|
253
279
|
*/
|
|
254
280
|
onReceived = (data) => {
|
|
@@ -334,4 +360,4 @@ export default class ApiMakerWebsocketRequestClient {
|
|
|
334
360
|
this.subscriptionReadyPromise = undefined;
|
|
335
361
|
}
|
|
336
362
|
}
|
|
337
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2Vic29ja2V0LXJlcXVlc3QtY2xpZW50LmpzIiwic291cmNlUm9vdCI6Ii9zcmMvIiwic291cmNlcyI6WyJ3ZWJzb2NrZXQtcmVxdWVzdC1jbGllbnQuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxXQUFXLE1BQU0sbUJBQW1CLENBQUE7QUFDM0MsT0FBTyxNQUFNLE1BQU0sYUFBYSxDQUFBO0FBQ2hDLE9BQU8sZ0JBQWdCLE1BQU0sd0JBQXdCLENBQUE7QUFFckQsTUFBTSxNQUFNLEdBQUcsSUFBSSxNQUFNLENBQUMsRUFBQyxJQUFJLEVBQUUsbUNBQW1DLEVBQUMsQ0FBQyxDQUFBO0FBQ3RFLE1BQU0sTUFBTSxHQUFHLEVBQUUsQ0FBQTtBQUVqQiw4RUFBOEU7QUFDOUUsTUFBTSxDQUFDLE9BQU8sT0FBTyw4QkFBOEI7SUFDakQsV0FBVyxHQUFHLEVBQUUsQ0FBQTtJQUVoQixnREFBZ0Q7SUFDaEQsTUFBTSxDQUFDLE9BQU87UUFDWixJQUFJLENBQUMsTUFBTSxDQUFDLHFDQUFxQyxFQUFFLENBQUM7WUFDbEQsTUFBTSxDQUFDLHFDQUFxQyxHQUFHLElBQUksOEJBQThCLEVBQUUsQ0FBQTtRQUNyRixDQUFDO1FBRUQsT0FBTyxNQUFNLENBQUMscUNBQXFDLENBQUE7SUFDckQsQ0FBQztJQUVELHNCQUFzQjtJQUN0QixNQUFNLENBQUMsWUFBWTtRQUNqQixJQUFJLENBQUMsTUFBTSxDQUFDLHFDQUFxQyxFQUFFLENBQUM7WUFDbEQsT0FBTTtRQUNSLENBQUM7UUFFRCxNQUFNLENBQUMscUNBQXFDLENBQUMsS0FBSyxFQUFFLENBQUE7UUFDcEQsT0FBTyxNQUFNLENBQUMscUNBQXFDLENBQUE7SUFDckQsQ0FBQztJQUVELG1CQUFtQjtJQUNuQjtRQUNFLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxDQUFDLENBQUE7UUFDekIsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUE7UUFDMUIsSUFBSSxDQUFDLGVBQWUsR0FBRyxFQUFFLENBQUE7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Q0FBQyxxQkFBcUIsQ0FBQyxVQUFVLENBQUMsQ0FBQTtRQUN0QyxJQUFJLENBQUMsYUFBYSxHQUFHLEVBQUUsQ0FBQTtRQUN2QixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsQ0FBQyxDQUFBO1FBQ3pCLElBQUksQ0FBQyw4QkFBOEIsRUFBRSxDQUFDLFVBQVUsQ0FBQyxDQUFBO1FBRWpELElBQUksSUFBSSxDQUFDLFlBQVksRUFBRSxXQUFXLEVBQUUsQ0FBQztZQUNuQyxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFBO1FBQ2pDLENBQUM7UUFFRCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQTtRQUN4QixJQUFJLENBQUMsaUJBQWlCLEdBQUcsS0FBSyxDQUFBO1FBQzlCLElBQUksQ0FBQywrQkFBK0IsR0FBRyxTQUFTLENBQUE7UUFDaEQsSUFBSSxDQUFDLDhCQUE4QixHQUFHLFNBQVMsQ0FBQTtRQUMvQyxJQUFJLENBQUMsd0JBQXdCLEdBQUcsU0FBUyxDQUFBO0lBQzNDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBDdXN0b21FcnJvciBmcm9tIFwiLi9jdXN0b20tZXJyb3IuanNcIlxuaW1wb3J0IExvZ2dlciBmcm9tIFwiLi9sb2dnZXIuanNcIlxuaW1wb3J0IGNoYW5uZWxzQ29uc3VtZXIgZnJvbSBcIi4vY2hhbm5lbHMtY29uc3VtZXIuanNcIlxuXG5jb25zdCBsb2dnZXIgPSBuZXcgTG9nZ2VyKHtuYW1lOiBcIkFwaU1ha2VyIC8gV2Vic29ja2V0UmVxdWVzdENsaWVudFwifSlcbmNvbnN0IHNoYXJlZCA9IHt9XG5cbi8qKiBTaGFyZWQgd2Vic29ja2V0IHJlcXVlc3QgY2xpZW50IGZvciBBcGlNYWtlciBjb21tYW5kL3NlcnZpY2UgZXhlY3V0aW9uLiAqL1xuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQXBpTWFrZXJXZWJzb2NrZXRSZXF1ZXN0Q2xpZW50IHtcbiAgaWRsZVdhaXRlcnMgPSBbXVxuXG4gIC8qKiBAcmV0dXJucyB7QXBpTWFrZXJXZWJzb2NrZXRSZXF1ZXN0Q2xpZW50fSAqL1xuICBzdGF0aWMgY3VycmVudCAoKSB7XG4gICAgaWYgKCFzaGFyZWQuY3VycmVudEFwaU1ha2VyV2Vic29ja2V0UmVxdWVzdENsaWVudCkge1xuICAgICAgc2hhcmVkLmN1cnJlbnRBcGlNYWtlcldlYnNvY2tldFJlcXVlc3RDbGllbnQgPSBuZXcgQXBpTWFrZXJXZWJzb2NrZXRSZXF1ZXN0Q2xpZW50KClcbiAgICB9XG5cbiAgICByZXR1cm4gc2hhcmVkLmN1cnJlbnRBcGlNYWtlcldlYnNvY2tldFJlcXVlc3RDbGllbnRcbiAgfVxuXG4gIC8qKiBAcmV0dXJucyB7dm9pZH0gKi9cbiAgc3RhdGljIHJlc2V0Q3VycmVudCAoKSB7XG4gICAgaWYgKCFzaGFyZWQuY3VycmVudEFwaU1ha2VyV2Vic29ja2V0UmVxdWVzdENsaWVudCkge1xuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgc2hhcmVkLmN1cnJlbnRBcGlNYWtlcldlYnNvY2tldFJlcXVlc3RDbGllbnQucmVzZXQoKVxuICAgIGRlbGV0ZSBzaGFyZWQuY3VycmVudEFwaU1ha2VyV2Vic29ja2V0UmVxdWVzdENsaWVudFxuICB9XG5cbiAgLyoqIENvbnN0cnVjdG9yLiAqL1xuICBjb25zdHJ1Y3RvciAoKSB7XG4gICAgdGhpcy5jdXJyZW50UmVxdWVzdElkID0gMVxuICAgIHRoaXMuc2tpcFJlY29ubmVjdCA9IGZhbHNlXG4gICAgdGhpcy5wZW5kaW5nUmVxdWVzdHMgPSB7fVxuICAgIHRoaXMucGVuZGluZ1JlcXVlc3RzQnlGaW5nZXJwcmludCA9IHt9XG4gICAgdGhpcy5yZXNwb25zZUNhY2hlID0ge31cbiAgICB0aGlzLnN1YnNjcmlwdGlvblN0YXRlID0gXCJuZXdcIlxuICB9XG5cbiAgLyoqIEByZXR1cm5zIHtudW1iZXJ9ICovXG4gIHBlbmRpbmdSZXF1ZXN0c0NvdW50ICgpIHtcbiAgICByZXR1cm4gT2JqZWN0LmtleXModGhpcy5wZW5kaW5nUmVxdWVzdHMpLmxlbmd0aFxuICB9XG5cbiAgLyoqXG4gICAqIFdhaXRzIGZvciBhbGwgaW4tZmxpZ2h0IHdlYnNvY2tldCByZXF1ZXN0cyB0byBjb21wbGV0ZS5cbiAgICpcbiAgICogQHBhcmFtIHtvYmplY3R9IFthcmdzXVxuICAgKiBAcGFyYW0ge251bWJlcn0gW2FyZ3MudGltZW91dE1zXVxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTx2b2lkPn1cbiAgICovXG4gIHdhaXRGb3JJZGxlICh7dGltZW91dE1zID0gNTAwMH0gPSB7fSkge1xuICAgIGlmICh0aGlzLnBlbmRpbmdSZXF1ZXN0c0NvdW50KCkgPT0gMCkge1xuICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpXG4gICAgfVxuXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIGNvbnN0IHRpbWVvdXQgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy5pZGxlV2FpdGVycyA9IHRoaXMuaWRsZVdhaXRlcnMuZmlsdGVyKChpZGxlV2FpdGVyKSA9PiBpZGxlV2FpdGVyLnJlamVjdCAhPSByZWplY3QpXG4gICAgICAgIHJlamVjdChuZXcgRXJyb3IoYFRpbWVkIG91dCB3aGlsZSB3YWl0aW5nIGZvciB3ZWJzb2NrZXQgcmVxdWVzdHMgdG8gZmluaXNoLiBQZW5kaW5nIHJlcXVlc3RzOiAke3RoaXMucGVuZGluZ1JlcXVlc3RzQ291bnQoKX1gKSlcbiAgICAgIH0sIHRpbWVvdXRNcylcblxuICAgICAgdGhpcy5pZGxlV2FpdGVycy5wdXNoKHtcbiAgICAgICAgcmVqZWN0LFxuICAgICAgICByZXNvbHZlOiAoKSA9PiB7XG4gICAgICAgICAgY2xlYXJUaW1lb3V0KHRpbWVvdXQpXG4gICAgICAgICAgcmVzb2x2ZSgpXG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgfSlcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge29iamVjdH0gYXJnc1xuICAgKiBAcGFyYW0ge2Jvb2xlYW59IFthcmdzLmNhY2hlUmVzcG9uc2VdXG4gICAqIEBwYXJhbSB7UmVjb3JkPHN0cmluZywgYW55Pn0gW2FyZ3MuZ2xvYmFsXVxuICAgKiBAcGFyYW0geyh2YWx1ZTogc3RyaW5nKSA9PiB2b2lkfSBbYXJncy5vbkxvZ11cbiAgICogQHBhcmFtIHsodmFsdWU6IFJlY29yZDxzdHJpbmcsIGFueT4pID0+IHZvaWR9IFthcmdzLm9uUHJvZ3Jlc3NdXG4gICAqIEBwYXJhbSB7KHZhbHVlOiBSZWNvcmQ8c3RyaW5nLCBhbnk+KSA9PiB2b2lkfSBbYXJncy5vblJlY2VpdmVkXVxuICAgKiBAcGFyYW0ge1JlY29yZDxzdHJpbmcsIGFueT59IGFyZ3MucmVxdWVzdFxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxSZWNvcmQ8c3RyaW5nLCBhbnk+Pn1cbiAgICovXG4gIHBlcmZvcm0gKHtjYWNoZVJlc3BvbnNlLCBnbG9iYWwsIG9uTG9nLCBvblByb2dyZXNzLCBvblJlY2VpdmVkLCByZXF1ZXN0fSkge1xuICAgIGNvbnN0IGZpbmdlcnByaW50ID0gSlNPTi5zdHJpbmdpZnkoe2dsb2JhbCwgcmVxdWVzdH0pXG5cbiAgICBpZiAoY2FjaGVSZXNwb25zZSAmJiB0aGlzLnJlc3BvbnNlQ2FjaGVbZmluZ2VycHJpbnRdKSB7XG4gICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHRoaXMucmVzcG9uc2VDYWNoZVtmaW5nZXJwcmludF0pXG4gICAgfVxuXG4gICAgaWYgKHRoaXMucGVuZGluZ1JlcXVlc3RzQnlGaW5nZXJwcmludFtmaW5nZXJwcmludF0pIHtcbiAgICAgIGNvbnN0IHBlbmRpbmdSZXF1ZXN0RGF0YSA9IHRoaXMucGVuZGluZ1JlcXVlc3RzQnlGaW5nZXJwcmludFtmaW5nZXJwcmludF1cbiAgICAgIGNvbnN0IHBlbmRpbmdSZXF1ZXN0ID0gdGhpcy5wZW5kaW5nUmVxdWVzdHNbcGVuZGluZ1JlcXVlc3REYXRhLnJlcXVlc3RJZF1cblxuICAgICAgaWYgKG9uTG9nKSBwZW5kaW5nUmVxdWVzdD8ub25Mb2dDYWxsYmFja3MucHVzaChvbkxvZylcbiAgICAgIGlmIChvblByb2dyZXNzKSBwZW5kaW5nUmVxdWVzdD8ub25Qcm9ncmVzc0NhbGxiYWNrcy5wdXNoKG9uUHJvZ3Jlc3MpXG4gICAgICBpZiAob25SZWNlaXZlZCkgcGVuZGluZ1JlcXVlc3Q/Lm9uUmVjZWl2ZWRDYWxsYmFja3MucHVzaChvblJlY2VpdmVkKVxuXG4gICAgICByZXR1cm4gcGVuZGluZ1JlcXVlc3REYXRhLnByb21pc2VcbiAgICB9XG5cbiAgICBjb25zdCBwcm9taXNlID0gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgY29uc3QgcmVxdWVzdElkID0gdGhpcy5jdXJyZW50UmVxdWVzdElkXG4gICAgICB0aGlzLmN1cnJlbnRSZXF1ZXN0SWQgKz0gMVxuXG4gICAgICB0aGlzLnBlbmRpbmdSZXF1ZXN0c1tyZXF1ZXN0SWRdID0ge1xuICAgICAgICBjYWNoZVJlc3BvbnNlLFxuICAgICAgICBkZWxpdmVyeVN0YXRlOiBcInF1ZXVlZFwiLFxuICAgICAgICBmaW5nZXJwcmludCxcbiAgICAgICAgbGFzdENvbW1hbmRFdmVudFNlcXVlbmNlOiAwLFxuICAgICAgICBvbkxvZ0NhbGxiYWNrczogb25Mb2cgPyBbb25Mb2ddIDogW10sXG4gICAgICAgIG9uUHJvZ3Jlc3NDYWxsYmFja3M6IG9uUHJvZ3Jlc3MgPyBbb25Qcm9ncmVzc10gOiBbXSxcbiAgICAgICAgb25SZWNlaXZlZENhbGxiYWNrczogb25SZWNlaXZlZCA/IFtvblJlY2VpdmVkXSA6IFtdLFxuICAgICAgICBnbG9iYWwsXG4gICAgICAgIHJlcXVlc3QsXG4gICAgICAgIHJlcXVlc3RVaWQ6IHRoaXMuZ2VuZXJhdGVSZXF1ZXN0VWlkKHJlcXVlc3RJZCksXG4gICAgICAgIHJlamVjdCxcbiAgICAgICAgcmVzb2x2ZVxuICAgICAgfVxuXG4gICAgICB0aGlzLnNlbmRQZW5kaW5nUmVxdWVzdChyZXF1ZXN0SWQpXG4gICAgfSlcblxuICAgIHRoaXMucGVuZGluZ1JlcXVlc3RzQnlGaW5nZXJwcmludFtmaW5nZXJwcmludF0gPSB7cHJvbWlzZSwgcmVxdWVzdElkOiB0aGlzLmN1cnJlbnRSZXF1ZXN0SWQgLSAxfVxuXG4gICAgcHJvbWlzZS50aGVuKCgpID0+IHtcbiAgICAgIGRlbGV0ZSB0aGlzLnBlbmRpbmdSZXF1ZXN0c0J5RmluZ2VycHJpbnRbZmluZ2VycHJpbnRdXG4gICAgfSwgKCkgPT4ge1xuICAgICAgZGVsZXRlIHRoaXMucGVuZGluZ1JlcXVlc3RzQnlGaW5nZXJwcmludFtmaW5nZXJwcmludF1cbiAgICB9KVxuXG4gICAgcmV0dXJuIHByb21pc2VcbiAgfVxuXG4gIC8qKiBAcmV0dXJucyB7YW55fSAqL1xuICBlbnN1cmVTdWJzY3JpcHRpb24gKCkge1xuICAgIGlmICghdGhpcy5zdWJzY3JpcHRpb24pIHtcbiAgICAgIGxvZ2dlci5kZWJ1ZyhcIkNyZWF0aW5nIHdlYnNvY2tldCByZXF1ZXN0IHN1YnNjcmlwdGlvblwiKVxuICAgICAgdGhpcy5zdWJzY3JpcHRpb25TdGF0ZSA9IFwiY29ubmVjdGluZ1wiXG4gICAgICB0aGlzLnJlc2V0U3Vic2NyaXB0aW9uUmVhZHlQcm9taXNlKClcblxuICAgICAgdGhpcy5zdWJzY3JpcHRpb24gPSBjaGFubmVsc0NvbnN1bWVyKCkuc3Vic2NyaXB0aW9ucy5jcmVhdGUoXG4gICAgICAgIHtjaGFubmVsOiBcIkFwaU1ha2VyOjpSZXF1ZXN0c0NoYW5uZWxcIn0sXG4gICAgICAgIHtcbiAgICAgICAgICBjb25uZWN0ZWQ6IHRoaXMub25Db25uZWN0ZWQsXG4gICAgICAgICAgZGlzY29ubmVjdGVkOiB0aGlzLm9uRGlzY29ubmVjdGVkLFxuICAgICAgICAgIHJlY2VpdmVkOiB0aGlzLm9uUmVjZWl2ZWQsXG4gICAgICAgICAgcmVqZWN0ZWQ6IHRoaXMub25SZWplY3RlZFxuICAgICAgICB9XG4gICAgICApXG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuc3Vic2NyaXB0aW9uXG4gIH1cblxuICAvKiogQHJldHVybnMge1Byb21pc2U8dm9pZD59ICovXG4gIHdhaXRGb3JTdWJzY3JpcHRpb24gKCkge1xuICAgIHRoaXMuZW5zdXJlU3Vic2NyaXB0aW9uKClcblxuICAgIGlmICh0aGlzLnN1YnNjcmlwdGlvblN0YXRlID09IFwiY29ubmVjdGVkXCIpIHtcbiAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoKVxuICAgIH1cblxuICAgIGlmICghdGhpcy5zdWJzY3JpcHRpb25SZWFkeVByb21pc2UpIHtcbiAgICAgIHRoaXMucmVzZXRTdWJzY3JpcHRpb25SZWFkeVByb21pc2UoKVxuICAgIH1cblxuICAgIHJldHVybiB0aGlzLnN1YnNjcmlwdGlvblJlYWR5UHJvbWlzZVxuICB9XG5cbiAgLyoqIEByZXR1cm5zIHt2b2lkfSAqL1xuICByZXNldFN1YnNjcmlwdGlvblJlYWR5UHJvbWlzZSAoKSB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25SZWFkeVByb21pc2UgPSBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICB0aGlzLnJlc29sdmVTdWJzY3JpcHRpb25SZWFkeVByb21pc2UgPSByZXNvbHZlXG4gICAgICB0aGlzLnJlamVjdFN1YnNjcmlwdGlvblJlYWR5UHJvbWlzZSA9IHJlamVjdFxuICAgIH0pXG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHtudW1iZXJ9IHJlcXVlc3RJZFxuICAgKiBAcmV0dXJucyB7c3RyaW5nfVxuICAgKi9cbiAgZ2VuZXJhdGVSZXF1ZXN0VWlkIChyZXF1ZXN0SWQpIHtcbiAgICBpZiAoZ2xvYmFsVGhpcy5jcnlwdG8/LnJhbmRvbVVVSUQpIHtcbiAgICAgIHJldHVybiBnbG9iYWxUaGlzLmNyeXB0by5yYW5kb21VVUlEKClcbiAgICB9XG5cbiAgICByZXR1cm4gYGFwaS1tYWtlci1yZXF1ZXN0LSR7RGF0ZS5ub3coKX0tJHtyZXF1ZXN0SWR9YFxuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7bnVtYmVyfSByZXF1ZXN0SWRcbiAgICogQHJldHVybnMge3ZvaWR9XG4gICAqL1xuICBzZW5kUGVuZGluZ1JlcXVlc3QgKHJlcXVlc3RJZCkge1xuICAgIGNvbnN0IHBlbmRpbmdSZXF1ZXN0ID0gdGhpcy5wZW5kaW5nUmVxdWVzdHNbcmVxdWVzdElkXVxuXG4gICAgaWYgKCFwZW5kaW5nUmVxdWVzdCkge1xuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgaWYgKHBlbmRpbmdSZXF1ZXN0LmRlbGl2ZXJ5U3RhdGUgIT0gXCJxdWV1ZWRcIikge1xuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgcGVuZGluZ1JlcXVlc3QuZGVsaXZlcnlTdGF0ZSA9IFwid2FpdGluZ19mb3JfY29ubmVjdGlvblwiXG5cbiAgICB0aGlzLndhaXRGb3JTdWJzY3JpcHRpb24oKVxuICAgICAgLnRoZW4oKCkgPT4ge1xuICAgICAgICBjb25zdCBsYXRlc3RQZW5kaW5nUmVxdWVzdCA9IHRoaXMucGVuZGluZ1JlcXVlc3RzW3JlcXVlc3RJZF1cblxuICAgICAgICBpZiAoIWxhdGVzdFBlbmRpbmdSZXF1ZXN0KSB7XG4gICAgICAgICAgcmV0dXJuXG4gICAgICAgIH1cblxuICAgICAgICBpZiAobGF0ZXN0UGVuZGluZ1JlcXVlc3QuZGVsaXZlcnlTdGF0ZSAhPSBcIndhaXRpbmdfZm9yX2Nvbm5lY3Rpb25cIikge1xuICAgICAgICAgIHJldHVyblxuICAgICAgICB9XG5cbiAgICAgICAgbGF0ZXN0UGVuZGluZ1JlcXVlc3QuZGVsaXZlcnlTdGF0ZSA9IFwic2VudFwiXG5cbiAgICAgICAgdGhpcy5lbnN1cmVTdWJzY3JpcHRpb24oKS5wZXJmb3JtKFwiZXhlY3V0ZVwiLCB7XG4gICAgICAgICAgY2FjaGVfcmVzcG9uc2U6IGxhdGVzdFBlbmRpbmdSZXF1ZXN0LmNhY2hlUmVzcG9uc2UsXG4gICAgICAgICAgZ2xvYmFsOiBsYXRlc3RQZW5kaW5nUmVxdWVzdC5nbG9iYWwsXG4gICAgICAgICAgbGFzdF9jb21tYW5kX2V2ZW50X3NlcXVlbmNlOiBsYXRlc3RQZW5kaW5nUmVxdWVzdC5sYXN0Q29tbWFuZEV2ZW50U2VxdWVuY2UsXG4gICAgICAgICAgcmVxdWVzdDogbGF0ZXN0UGVuZGluZ1JlcXVlc3QucmVxdWVzdCxcbiAgICAgICAgICByZXF1ZXN0X2lkOiByZXF1ZXN0SWQsXG4gICAgICAgICAgcmVxdWVzdF91aWQ6IGxhdGVzdFBlbmRpbmdSZXF1ZXN0LnJlcXVlc3RVaWRcbiAgICAgICAgfSlcbiAgICAgIH0pXG4gICAgICAuY2F0Y2goKGVycm9yKSA9PiB7XG4gICAgICAgIGNvbnN0IGxhdGVzdFBlbmRpbmdSZXF1ZXN0ID0gdGhpcy5wZW5kaW5nUmVxdWVzdHNbcmVxdWVzdElkXVxuXG4gICAgICAgIGlmICghbGF0ZXN0UGVuZGluZ1JlcXVlc3QpIHtcbiAgICAgICAgICByZXR1cm5cbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLnN1YnNjcmlwdGlvblN0YXRlID09IFwicmVqZWN0ZWRcIikge1xuICAgICAgICAgIGRlbGV0ZSB0aGlzLnBlbmRpbmdSZXF1ZXN0c1tyZXF1ZXN0SWRdXG4gICAgICAgICAgbGF0ZXN0UGVuZGluZ1JlcXVlc3QucmVqZWN0KGVycm9yKVxuICAgICAgICAgIHJldHVyblxuICAgICAgICB9XG5cbiAgICAgICAgbGF0ZXN0UGVuZGluZ1JlcXVlc3QuZGVsaXZlcnlTdGF0ZSA9IFwicXVldWVkXCJcbiAgICAgIH0pXG4gIH1cblxuICAvKiogQHJldHVybnMge3ZvaWR9ICovXG4gIHJlc2VuZFF1ZXVlZFJlcXVlc3RzICgpIHtcbiAgICBPYmplY3QuZW50cmllcyh0aGlzLnBlbmRpbmdSZXF1ZXN0cykuZm9yRWFjaCgoW3JlcXVlc3RJZCwgcGVuZGluZ1JlcXVlc3RdKSA9PiB7XG4gICAgICBpZiAocGVuZGluZ1JlcXVlc3QuZGVsaXZlcnlTdGF0ZSA9PSBcInF1ZXVlZFwiKSB7XG4gICAgICAgIHRoaXMuc2VuZFBlbmRpbmdSZXF1ZXN0KHBhcnNlSW50KHJlcXVlc3RJZCwgMTApKVxuICAgICAgfVxuICAgIH0pXG4gIH1cblxuICAvKiogQHJldHVybnMge3ZvaWR9ICovXG4gIG9uQ29ubmVjdGVkID0gKCkgPT4ge1xuICAgIGxvZ2dlci5kZWJ1ZyhcIldlYnNvY2tldCByZXF1ZXN0IHN1YnNjcmlwdGlvbiBjb25uZWN0ZWRcIilcbiAgICB0aGlzLnN1YnNjcmlwdGlvblN0YXRlID0gXCJjb25uZWN0ZWRcIlxuICAgIHRoaXMucmVzb2x2ZVN1YnNjcmlwdGlvblJlYWR5UHJvbWlzZT8uKClcbiAgICB0aGlzLnJlc2VuZFF1ZXVlZFJlcXVlc3RzKClcbiAgfVxuXG4gIC8qKiBAcmV0dXJucyB7dm9pZH0gKi9cbiAgb25EaXNjb25uZWN0ZWQgPSAoKSA9PiB7XG4gICAgbG9nZ2VyLmRlYnVnKFwiV2Vic29ja2V0IHJlcXVlc3Qgc3Vic2NyaXB0aW9uIGRpc2Nvbm5lY3RlZFwiKVxuICAgIHRoaXMuc3Vic2NyaXB0aW9uID0gbnVsbFxuXG4gICAgaWYgKHRoaXMuc2tpcFJlY29ubmVjdCkge1xuICAgICAgdGhpcy5zdWJzY3JpcHRpb25TdGF0ZSA9IFwicmVzZXRcIlxuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgT2JqZWN0LnZhbHVlcyh0aGlzLnBlbmRpbmdSZXF1ZXN0cykuZm9yRWFjaCgocGVuZGluZ1JlcXVlc3QpID0+IHtcbiAgICAgIGlmIChwZW5kaW5nUmVxdWVzdC5kZWxpdmVyeVN0YXRlICE9IFwiY29tcGxldGVkXCIpIHtcbiAgICAgICAgcGVuZGluZ1JlcXVlc3QuZGVsaXZlcnlTdGF0ZSA9IFwicXVldWVkXCJcbiAgICAgIH1cbiAgICB9KVxuXG4gICAgdGhpcy5zdWJzY3JpcHRpb25TdGF0ZSA9IFwiZGlzY29ubmVjdGVkXCJcbiAgICB0aGlzLnJlc2V0U3Vic2NyaXB0aW9uUmVhZHlQcm9taXNlKClcbiAgICB0aGlzLmVuc3VyZVN1YnNjcmlwdGlvbigpXG4gIH1cblxuICAvKiogQHJldHVybnMge3ZvaWR9ICovXG4gIG9uUmVqZWN0ZWQgPSAoKSA9PiB7XG4gICAgaWYgKHRoaXMuc2tpcFJlY29ubmVjdCkge1xuICAgICAgdGhpcy5zdWJzY3JpcHRpb25TdGF0ZSA9IFwicmVzZXRcIlxuICAgICAgdGhpcy5zdWJzY3JpcHRpb24gPSBudWxsXG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICBjb25zdCBlcnJvciA9IG5ldyBFcnJvcihcIldlYnNvY2tldCByZXF1ZXN0IHN1YnNjcmlwdGlvbiB3YXMgcmVqZWN0ZWRcIilcblxuICAgIGxvZ2dlci5lcnJvcihlcnJvcilcbiAgICB0aGlzLnJlamVjdFBlbmRpbmdSZXF1ZXN0cyhlcnJvcilcbiAgICB0aGlzLnN1YnNjcmlwdGlvblN0YXRlID0gXCJyZWplY3RlZFwiXG4gICAgdGhpcy5zdWJzY3JpcHRpb24gPSBudWxsXG4gICAgdGhpcy5yZWplY3RTdWJzY3JpcHRpb25SZWFkeVByb21pc2U/LihlcnJvcilcbiAgICB0aGlzLnJlc2V0U3Vic2NyaXB0aW9uUmVhZHlQcm9taXNlKClcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge1JlY29yZDxzdHJpbmcsIGFueT59IGRhdGFcbiAgICogQHJldHVybnMge3ZvaWR9XG4gICAqL1xuICBvblJlY2VpdmVkID0gKGRhdGEpID0+IHtcbiAgICBjb25zdCBwZW5kaW5nUmVxdWVzdCA9IHRoaXMucGVuZGluZ1JlcXVlc3RzW2RhdGEucmVxdWVzdF9pZF1cblxuICAgIGlmICghcGVuZGluZ1JlcXVlc3QpIHtcbiAgICAgIGxvZ2dlci5kZWJ1ZygoKSA9PiBbXCJJZ25vcmluZyB3ZWJzb2NrZXQgcmVzcG9uc2Ugd2l0aG91dCBhIHBlbmRpbmcgcmVxdWVzdFwiLCB7ZGF0YX1dKVxuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgaWYgKGRhdGEuY29tbWFuZF9ldmVudF9zZXF1ZW5jZSAmJiBkYXRhLmNvbW1hbmRfZXZlbnRfc2VxdWVuY2UgPiBwZW5kaW5nUmVxdWVzdC5sYXN0Q29tbWFuZEV2ZW50U2VxdWVuY2UpIHtcbiAgICAgIHBlbmRpbmdSZXF1ZXN0Lmxhc3RDb21tYW5kRXZlbnRTZXF1ZW5jZSA9IGRhdGEuY29tbWFuZF9ldmVudF9zZXF1ZW5jZVxuICAgIH1cblxuICAgIGlmIChkYXRhLnR5cGUgPT0gXCJhcGlfbWFrZXJfY29tbWFuZF9sb2dcIikge1xuICAgICAgcGVuZGluZ1JlcXVlc3Qub25Mb2dDYWxsYmFja3MuZm9yRWFjaCgoY2FsbGJhY2spID0+IGNhbGxiYWNrKGRhdGEubWVzc2FnZSkpXG4gICAgfSBlbHNlIGlmIChkYXRhLnR5cGUgPT0gXCJhcGlfbWFrZXJfY29tbWFuZF9wcm9ncmVzc1wiKSB7XG4gICAgICBjb25zdCBwcm9ncmVzc0RhdGEgPSB7XG4gICAgICAgIGNvdW50OiBkYXRhLmNvdW50LFxuICAgICAgICBwcm9ncmVzczogZGF0YS5wcm9ncmVzcyxcbiAgICAgICAgdG90YWw6IGRhdGEudG90YWxcbiAgICAgIH1cblxuICAgICAgcGVuZGluZ1JlcXVlc3Qub25Qcm9ncmVzc0NhbGxiYWNrcy5mb3JFYWNoKChjYWxsYmFjaykgPT4gY2FsbGJhY2socHJvZ3Jlc3NEYXRhKSlcbiAgICB9IGVsc2UgaWYgKGRhdGEudHlwZSA9PSBcImFwaV9tYWtlcl9yZXF1ZXN0X3JlY2VpdmVkXCIpIHtcbiAgICAgIHBlbmRpbmdSZXF1ZXN0LmRlbGl2ZXJ5U3RhdGUgPSBcInJlY2VpdmVkXCJcbiAgICAgIHBlbmRpbmdSZXF1ZXN0Lm9uUmVjZWl2ZWRDYWxsYmFja3MuZm9yRWFjaCgoY2FsbGJhY2spID0+IGNhbGxiYWNrKGRhdGEpKVxuICAgIH0gZWxzZSBpZiAoZGF0YS50eXBlID09IFwiYXBpX21ha2VyX3JlcXVlc3RfcmVzcG9uc2VcIikge1xuICAgICAgZGVsZXRlIHRoaXMucGVuZGluZ1JlcXVlc3RzW2RhdGEucmVxdWVzdF9pZF1cblxuICAgICAgaWYgKHBlbmRpbmdSZXF1ZXN0LmNhY2hlUmVzcG9uc2UpIHtcbiAgICAgICAgdGhpcy5yZXNwb25zZUNhY2hlW3BlbmRpbmdSZXF1ZXN0LmZpbmdlcnByaW50XSA9IGRhdGEucmVzcG9uc2VcbiAgICAgIH1cblxuICAgICAgcGVuZGluZ1JlcXVlc3QucmVzb2x2ZShkYXRhLnJlc3BvbnNlKVxuICAgICAgdGhpcy5yZXNvbHZlSWRsZVdhaXRlcnNJZklkbGUoKVxuICAgIH0gZWxzZSBpZiAoZGF0YS50eXBlID09IFwiYXBpX21ha2VyX3JlcXVlc3RfZXJyb3JcIikge1xuICAgICAgZGVsZXRlIHRoaXMucGVuZGluZ1JlcXVlc3RzW2RhdGEucmVxdWVzdF9pZF1cbiAgICAgIHBlbmRpbmdSZXF1ZXN0LnJlamVjdChuZXcgQ3VzdG9tRXJyb3IoXCJXZWJzb2NrZXQgcmVxdWVzdCBmYWlsZWRcIiwge3Jlc3BvbnNlOiBkYXRhLnJlc3BvbnNlfSkpXG4gICAgICB0aGlzLnJlc29sdmVJZGxlV2FpdGVyc0lmSWRsZSgpXG4gICAgfSBlbHNlIHtcbiAgICAgIGRlbGV0ZSB0aGlzLnBlbmRpbmdSZXF1ZXN0c1tkYXRhLnJlcXVlc3RfaWRdXG4gICAgICBwZW5kaW5nUmVxdWVzdC5yZWplY3QobmV3IEVycm9yKGBVbmtub3duIHdlYnNvY2tldCByZXF1ZXN0IHJlc3BvbnNlIHR5cGU6ICR7ZGF0YS50eXBlfWApKVxuICAgICAgdGhpcy5yZXNvbHZlSWRsZVdhaXRlcnNJZklkbGUoKVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge0Vycm9yfSBlcnJvclxuICAgKiBAcmV0dXJucyB7dm9pZH1cbiAgICovXG4gIHJlamVjdFBlbmRpbmdSZXF1ZXN0cyAoZXJyb3IpIHtcbiAgICBjb25zdCBwZW5kaW5nUmVxdWVzdHMgPSB0aGlzLnBlbmRpbmdSZXF1ZXN0c1xuXG4gICAgdGhpcy5wZW5kaW5nUmVxdWVzdHMgPSB7fVxuICAgIHRoaXMucGVuZGluZ1JlcXVlc3RzQnlGaW5nZXJwcmludCA9IHt9XG5cbiAgICBPYmplY3QudmFsdWVzKHBlbmRpbmdSZXF1ZXN0cykuZm9yRWFjaCgocGVuZGluZ1JlcXVlc3QpID0+IHtcbiAgICAgIHF1ZXVlTWljcm90YXNrKCgpID0+IHBlbmRpbmdSZXF1ZXN0LnJlamVjdChlcnJvcikpXG4gICAgfSlcblxuICAgIHRoaXMucmVzb2x2ZUlkbGVXYWl0ZXJzSWZJZGxlKClcbiAgfVxuXG4gIC8qKiBAcmV0dXJucyB7dm9pZH0gKi9cbiAgcmVzb2x2ZUlkbGVXYWl0ZXJzSWZJZGxlICgpIHtcbiAgICBpZiAodGhpcy5wZW5kaW5nUmVxdWVzdHNDb3VudCgpID4gMCB8fCB0aGlzLmlkbGVXYWl0ZXJzLmxlbmd0aCA9PSAwKSB7XG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICBjb25zdCBpZGxlV2FpdGVycyA9IHRoaXMuaWRsZVdhaXRlcnNcblxuICAgIHRoaXMuaWRsZVdhaXRlcnMgPSBbXVxuICAgIGlkbGVXYWl0ZXJzLmZvckVhY2goKGlkbGVXYWl0ZXIpID0+IGlkbGVXYWl0ZXIucmVzb2x2ZSgpKVxuICB9XG5cbiAgLyoqIEByZXR1cm5zIHt2b2lkfSAqL1xuICByZXNldCAoKSB7XG4gICAgY29uc3QgcmVzZXRFcnJvciA9IG5ldyBFcnJvcihcIldlYnNvY2tldCByZXF1ZXN0IGNsaWVudCB3YXMgcmVzZXRcIilcblxuICAgIHRoaXMuc2tpcFJlY29ubmVjdCA9IHRydWVcbiAgICB0aGlzLnJlamVjdFBlbmRpbmdSZXF1ZXN0cyhyZXNldEVycm9yKVxuICAgIHRoaXMucmVzcG9uc2VDYWNoZSA9IHt9XG4gICAgdGhpcy5jdXJyZW50UmVxdWVzdElkID0gMVxuICAgIHRoaXMucmVqZWN0U3Vic2NyaXB0aW9uUmVhZHlQcm9taXNlPy4ocmVzZXRFcnJvcilcblxuICAgIGlmICh0aGlzLnN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUpIHtcbiAgICAgIHRoaXMuc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKClcbiAgICB9XG5cbiAgICB0aGlzLnN1YnNjcmlwdGlvbiA9IG51bGxcbiAgICB0aGlzLnN1YnNjcmlwdGlvblN0YXRlID0gXCJuZXdcIlxuICAgIHRoaXMucmVzb2x2ZVN1YnNjcmlwdGlvblJlYWR5UHJvbWlzZSA9IHVuZGVmaW5lZFxuICAgIHRoaXMucmVqZWN0U3Vic2NyaXB0aW9uUmVhZHlQcm9taXNlID0gdW5kZWZpbmVkXG4gICAgdGhpcy5zdWJzY3JpcHRpb25SZWFkeVByb21pc2UgPSB1bmRlZmluZWRcbiAgfVxufVxuIl19
|
|
363
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2Vic29ja2V0LXJlcXVlc3QtY2xpZW50LmpzIiwic291cmNlUm9vdCI6Ii9zcmMvIiwic291cmNlcyI6WyJ3ZWJzb2NrZXQtcmVxdWVzdC1jbGllbnQuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWTtBQUNaLE9BQU8sV0FBVyxNQUFNLG1CQUFtQixDQUFBO0FBQzNDLE9BQU8sTUFBTSxNQUFNLGFBQWEsQ0FBQTtBQUNoQyxPQUFPLGdCQUFnQixNQUFNLHdCQUF3QixDQUFBO0FBRXJELE1BQU0sTUFBTSxHQUFHLElBQUksTUFBTSxDQUFDLEVBQUMsSUFBSSxFQUFFLG1DQUFtQyxFQUFDLENBQUMsQ0FBQTtBQUN0RSxNQUFNLE1BQU0sR0FBRyxFQUFFLENBQUE7QUFFakIsbUpBQW1KO0FBQ25KLDBEQUEwRDtBQUMxRDs7Ozs7R0FLRztBQUNIOzs7Ozs7Ozs7OztHQVdHO0FBQ0g7Ozs7R0FJRztBQUVILDhFQUE4RTtBQUM5RSxNQUFNLENBQUMsT0FBTyxPQUFPLDhCQUE4QjtJQUNqRCxXQUFXLEdBQUcsRUFBRSxDQUFBO0lBRWhCLGdEQUFnRDtJQUNoRCxNQUFNLENBQUMsT0FBTztRQUNaLElBQUksQ0FBQyxNQUFNLENBQUMscUNBQXFDLEVBQUUsQ0FBQztZQUNsRCxNQUFNLENBQUMscUNBQXFDLEdBQUcsSUFBSSw4QkFBOEIsRUFBRSxDQUFBO1FBQ3JGLENBQUM7UUFFRCxPQUFPLE1BQU0sQ0FBQyxxQ0FBcUMsQ0FBQTtJQUNyRCxDQUFDO0lBRUQsc0JBQXNCO0lBQ3RCLE1BQU0sQ0FBQyxZQUFZO1FBQ2pCLElBQUksQ0FBQyxNQUFNLENBQUMscUNBQXFDLEVBQUUsQ0FBQztZQUNsRCxPQUFNO1FBQ1IsQ0FBQztRQUVELE1BQU0sQ0FBQyxxQ0FBcUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQTtRQUNwRCxPQUFPLE1BQU0sQ0FBQyxxQ0FBcUMsQ0FBQTtJQUNyRCxDQUFDO0lBRUQsZ0ZBQWdGO0lBQ2hGO1FBQ0UsSUFBSSxDQUFDLGdCQUFnQixHQUFH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QUFHLElBQUksS0FBSyxDQUFDLG9DQUFvQyxDQUFDLENBQUE7UUFFbEUsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUE7UUFDekIsSUFBSSxDQUFDLHFCQUFxQixDQUFDLFVBQVUsQ0FBQyxDQUFBO1FBQ3RDLElBQUksQ0FBQyxhQUFhLEdBQUcsRUFBRSxDQUFBO1FBQ3ZCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxDQUFDLENBQUE7UUFDekIsSUFBSSxDQUFDLDhCQUE4QixFQUFFLENBQUMsVUFBVSxDQUFDLENBQUE7UUFFakQsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFLFdBQVcsRUFBRSxDQUFDO1lBQ25DLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUE7UUFDakMsQ0FBQztRQUVELElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFBO1FBQ3hCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxLQUFLLENBQUE7UUFDOUIsSUFBSSxDQUFDLCtCQUErQixHQUFHLFNBQVMsQ0FBQTtRQUNoRCxJQUFJLENBQUMsOEJBQThCLEdBQUcsU0FBUyxDQUFBO1FBQy9DLElBQUksQ0FBQyx3QkFBd0IsR0FBRyxTQUFTLENBQUE7SUFDM0MsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQHRzLWNoZWNrXG5pbXBvcnQgQ3VzdG9tRXJyb3IgZnJvbSBcIi4vY3VzdG9tLWVycm9yLmpzXCJcbmltcG9ydCBMb2dnZXIgZnJvbSBcIi4vbG9nZ2VyLmpzXCJcbmltcG9ydCBjaGFubmVsc0NvbnN1bWVyIGZyb20gXCIuL2NoYW5uZWxzLWNvbnN1bWVyLmpzXCJcblxuY29uc3QgbG9nZ2VyID0gbmV3IExvZ2dlcih7bmFtZTogXCJBcGlNYWtlciAvIFdlYnNvY2tldFJlcXVlc3RDbGllbnRcIn0pXG5jb25zdCBzaGFyZWQgPSB7fVxuXG4vKiogQHR5cGVkZWYge29iamVjdCB8IHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW4gfCBudWxsIHwgdW5kZWZpbmVkIHwgQXJyYXk8b2JqZWN0IHwgc3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbiB8IG51bGwgfCB1bmRlZmluZWQ+fSBSZXF1ZXN0VmFsdWUgKi9cbi8qKiBAdHlwZWRlZiB7UmVjb3JkPHN0cmluZywgUmVxdWVzdFZhbHVlPn0gUmVxdWVzdERhdGEgKi9cbi8qKlxuICogQHR5cGVkZWYge29iamVjdH0gV2Vic29ja2V0UHJvZ3Jlc3NEYXRhXG4gKiBAcHJvcGVydHkge251bWJlciB8IHVuZGVmaW5lZH0gY291bnRcbiAqIEBwcm9wZXJ0eSB7bnVtYmVyIHwgdW5kZWZpbmVkfSBwcm9ncmVzc1xuICogQHByb3BlcnR5IHtudW1iZXIgfCB1bmRlZmluZWR9IHRvdGFsXG4gKi9cbi8qKlxuICogQHR5cGVkZWYge1JlcXVlc3REYXRhICYge1xuICogICBjb21tYW5kX2V2ZW50X3NlcXVlbmNlPzogbnVtYmVyLFxuICogICBjb3VudD86IG51bWJlcixcbiAqICAgbWVzc2FnZT86IHN0cmluZyxcbiAqICAgcHJvZ3Jlc3M/OiBudW1iZXIsXG4gKiAgIHJlcXVlc3RfaWQ6IG51bWJlcixcbiAqICAgcmVzcG9uc2U/OiBSZXF1ZXN0RGF0YSxcbiAqICAgdG90YWw/OiBudW1iZXIsXG4gKiAgIHR5cGU6IHN0cmluZ1xuICogfX0gV2Vic29ja2V0UmVzcG9uc2VEYXRhXG4gKi9cbi8qKlxuICogQHR5cGVkZWYge29iamVjdH0gV2Vic29ja2V0UmVxdWVzdFN1YnNjcmlwdGlvblxuICogQHByb3BlcnR5IHsoYWN0aW9uOiBzdHJpbmcsIGRhdGE6IFJlcXVlc3REYXRhKSA9PiB2b2lkfSBwZXJmb3JtXG4gKiBAcHJvcGVydHkgeygpID0+IHZvaWR9IHVuc3Vic2NyaWJlXG4gKi9cblxuLyoqIFNoYXJlZCB3ZWJzb2NrZXQgcmVxdWVzdCBjbGllbnQgZm9yIEFwaU1ha2VyIGNvbW1hbmQvc2VydmljZSBleGVjdXRpb24uICovXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBBcGlNYWtlcldlYnNvY2tldFJlcXVlc3RDbGllbnQge1xuICBpZGxlV2FpdGVycyA9IFtdXG5cbiAgLyoqIEByZXR1cm5zIHtBcGlNYWtlcldlYnNvY2tldFJlcXVlc3RDbGllbnR9ICovXG4gIHN0YXRpYyBjdXJyZW50ICgpIHtcbiAgICBpZiAoIXNoYXJlZC5jdXJyZW50QXBpTWFrZXJXZWJzb2NrZXRSZXF1ZXN0Q2xpZW50KSB7XG4gICAgICBzaGFyZWQuY3VycmVudEFwaU1ha2VyV2Vic29ja2V0UmVxdWVzdENsaWVudCA9IG5ldyBBcGlNYWtlcldlYnNvY2tldFJlcXVlc3RDbGllbnQoKVxuICAgIH1cblxuICAgIHJldHVybiBzaGFyZWQuY3VycmVudEFwaU1ha2VyV2Vic29ja2V0UmVxdWVzdENsaWVudFxuICB9XG5cbiAgLyoqIEByZXR1cm5zIHt2b2lkfSAqL1xuICBzdGF0aWMgcmVzZXRDdXJyZW50ICgpIHtcbiAgICBpZiAoIXNoYXJlZC5jdXJyZW50QXBpTWFrZXJXZWJzb2NrZXRSZXF1ZXN0Q2xpZW50KSB7XG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICBzaGFyZWQuY3VycmVudEFwaU1ha2VyV2Vic29ja2V0UmVxdWVzdENsaWVudC5yZXNldCgpXG4gICAgZGVsZXRlIHNoYXJlZC5jdXJyZW50QXBpTWFrZXJXZWJzb2NrZXRSZXF1ZXN0Q2xpZW50XG4gIH1cblxuICAvKiogSW5pdGlhbGl6ZXMgb25lIHdlYnNvY2tldCByZXF1ZXN0IGNsaWVudCBpbnN0YW5jZSBhbmQgaXRzIHJlcXVlc3QgY2FjaGVzLiAqL1xuICBjb25zdHJ1Y3RvciAoKSB7XG4gICAgdGhpcy5jdXJyZW50UmVxdWVzdElkID0gMVxuICAgIHRoaXMuc2tpcFJlY29ubmVjdCA9IGZhbHNlXG4gICAgdGhpcy5wZW5kaW5nUmVxdWVzdHMgPSB7fVxuICAgIHRoaXMucGVuZGluZ1JlcXVlc3RzQnlGaW5nZXJwcmludCA9IHt9XG4gICAgdGhpcy5yZXNwb25zZUNhY2hlID0ge31cbiAgICB0aGlzLnN1YnNjcmlwdGlvblN0YXRlID0gXCJuZXdcIlxuICB9XG5cbiAgLyoqIEByZXR1cm5zIHtudW1iZXJ9ICovXG4gIHBlbmRpbmdSZXF1ZXN0c0NvdW50ICgpIHtcbiAgICByZXR1cm4gT2JqZWN0LmtleXModGhpcy5wZW5kaW5nUmVxdWVzdHMpLmxlbmd0aFxuICB9XG5cbiAgLyoqXG4gICAqIFdhaXRzIGZvciBhbGwgaW4tZmxpZ2h0IHdlYnNvY2tldCByZXF1ZXN0cyB0byBjb21wbGV0ZS5cbiAgICpcbiAgICogQHBhcmFtIHtvYmplY3R9IFthcmdzXVxuICAgKiBAcGFyYW0ge251bWJlcn0gW2FyZ3MudGltZW91dE1zXVxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTx2b2lkPn1cbiAgICovXG4gIHdhaXRGb3JJZGxlICh7dGltZW91dE1zID0gNTAwMH0gPSB7fSkge1xuICAgIGlmICh0aGlzLnBlbmRpbmdSZXF1ZXN0c0NvdW50KCkgPT0gMCkge1xuICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpXG4gICAgfVxuXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIGNvbnN0IHRpbWVvdXQgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy5pZGxlV2FpdGVycyA9IHRoaXMuaWRsZVdhaXRlcnMuZmlsdGVyKChpZGxlV2FpdGVyKSA9PiBpZGxlV2FpdGVyLnJlamVjdCAhPSByZWplY3QpXG4gICAgICAgIHJlamVjdChuZXcgRXJyb3IoYFRpbWVkIG91dCB3aGlsZSB3YWl0aW5nIGZvciB3ZWJzb2NrZXQgcmVxdWVzdHMgdG8gZmluaXNoLiBQZW5kaW5nIHJlcXVlc3RzOiAke3RoaXMucGVuZGluZ1JlcXVlc3RzQ291bnQoKX1gKSlcbiAgICAgIH0sIHRpbWVvdXRNcylcblxuICAgICAgdGhpcy5pZGxlV2FpdGVycy5wdXNoKHtcbiAgICAgICAgcmVqZWN0LFxuICAgICAgICByZXNvbHZlOiAoKSA9PiB7XG4gICAgICAgICAgY2xlYXJUaW1lb3V0KHRpbWVvdXQpXG4gICAgICAgICAgcmVzb2x2ZSgpXG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgfSlcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge29iamVjdH0gYXJnc1xuICAgKiBAcGFyYW0ge2Jvb2xlYW59IFthcmdzLmNhY2hlUmVzcG9uc2VdXG4gICAqIEBwYXJhbSB7UmVxdWVzdERhdGF9IFthcmdzLmdsb2JhbF1cbiAgICogQHBhcmFtIHsodmFsdWU6IHN0cmluZykgPT4gdm9pZH0gW2FyZ3Mub25Mb2ddXG4gICAqIEBwYXJhbSB7KHZhbHVlOiBXZWJzb2NrZXRQcm9ncmVzc0RhdGEpID0+IHZvaWR9IFthcmdzLm9uUHJvZ3Jlc3NdXG4gICAqIEBwYXJhbSB7KHZhbHVlOiBXZWJzb2NrZXRSZXNwb25zZURhdGEpID0+IHZvaWR9IFthcmdzLm9uUmVjZWl2ZWRdXG4gICAqIEBwYXJhbSB7UmVxdWVzdERhdGF9IGFyZ3MucmVxdWVzdFxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxSZXF1ZXN0RGF0YT59XG4gICAqL1xuICBwZXJmb3JtICh7Y2FjaGVSZXNwb25zZSwgZ2xvYmFsLCBvbkxvZywgb25Qcm9ncmVzcywgb25SZWNlaXZlZCwgcmVxdWVzdH0pIHtcbiAgICBjb25zdCBmaW5nZXJwcmludCA9IEpTT04uc3RyaW5naWZ5KHtnbG9iYWwsIHJlcXVlc3R9KVxuXG4gICAgaWYgKGNhY2hlUmVzcG9uc2UgJiYgdGhpcy5yZXNwb25zZUNhY2hlW2ZpbmdlcnByaW50XSkge1xuICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSh0aGlzLnJlc3BvbnNlQ2FjaGVbZmluZ2VycHJpbnRdKVxuICAgIH1cblxuICAgIGlmICh0aGlzLnBlbmRpbmdSZXF1ZXN0c0J5RmluZ2VycHJpbnRbZmluZ2VycHJpbnRdKSB7XG4gICAgICBjb25zdCBwZW5kaW5nUmVxdWVzdERhdGEgPSB0aGlzLnBlbmRpbmdSZXF1ZXN0c0J5RmluZ2VycHJpbnRbZmluZ2VycHJpbnRdXG4gICAgICBjb25zdCBwZW5kaW5nUmVxdWVzdCA9IHRoaXMucGVuZGluZ1JlcXVlc3RzW3BlbmRpbmdSZXF1ZXN0RGF0YS5yZXF1ZXN0SWRdXG5cbiAgICAgIGlmIChvbkxvZykgcGVuZGluZ1JlcXVlc3Q/Lm9uTG9nQ2FsbGJhY2tzLnB1c2gob25Mb2cpXG4gICAgICBpZiAob25Qcm9ncmVzcykgcGVuZGluZ1JlcXVlc3Q/Lm9uUHJvZ3Jlc3NDYWxsYmFja3MucHVzaChvblByb2dyZXNzKVxuICAgICAgaWYgKG9uUmVjZWl2ZWQpIHBlbmRpbmdSZXF1ZXN0Py5vblJlY2VpdmVkQ2FsbGJhY2tzLnB1c2gob25SZWNlaXZlZClcblxuICAgICAgcmV0dXJuIHBlbmRpbmdSZXF1ZXN0RGF0YS5wcm9taXNlXG4gICAgfVxuXG4gICAgY29uc3QgcHJvbWlzZSA9IG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIGNvbnN0IHJlcXVlc3RJZCA9IHRoaXMuY3VycmVudFJlcXVlc3RJZFxuICAgICAgdGhpcy5jdXJyZW50UmVxdWVzdElkICs9IDFcblxuICAgICAgdGhpcy5wZW5kaW5nUmVxdWVzdHNbcmVxdWVzdElkXSA9IHtcbiAgICAgICAgY2FjaGVSZXNwb25zZSxcbiAgICAgICAgZGVsaXZlcnlTdGF0ZTogXCJxdWV1ZWRcIixcbiAgICAgICAgZmluZ2VycHJpbnQsXG4gICAgICAgIGxhc3RDb21tYW5kRXZlbnRTZXF1ZW5jZTogMCxcbiAgICAgICAgb25Mb2dDYWxsYmFja3M6IG9uTG9nID8gW29uTG9nXSA6IFtdLFxuICAgICAgICBvblByb2dyZXNzQ2FsbGJhY2tzOiBvblByb2dyZXNzID8gW29uUHJvZ3Jlc3NdIDogW10sXG4gICAgICAgIG9uUmVjZWl2ZWRDYWxsYmFja3M6IG9uUmVjZWl2ZWQgPyBbb25SZWNlaXZlZF0gOiBbXSxcbiAgICAgICAgZ2xvYmFsLFxuICAgICAgICByZXF1ZXN0LFxuICAgICAgICByZXF1ZXN0VWlkOiB0aGlzLmdlbmVyYXRlUmVxdWVzdFVpZChyZXF1ZXN0SWQpLFxuICAgICAgICByZWplY3QsXG4gICAgICAgIHJlc29sdmVcbiAgICAgIH1cblxuICAgICAgdGhpcy5zZW5kUGVuZGluZ1JlcXVlc3QocmVxdWVzdElkKVxuICAgIH0pXG5cbiAgICB0aGlzLnBlbmRpbmdSZXF1ZXN0c0J5RmluZ2VycHJpbnRbZmluZ2VycHJpbnRdID0ge3Byb21pc2UsIHJlcXVlc3RJZDogdGhpcy5jdXJyZW50UmVxdWVzdElkIC0gMX1cblxuICAgIHByb21pc2UudGhlbigoKSA9PiB7XG4gICAgICBkZWxldGUgdGhpcy5wZW5kaW5nUmVxdWVzdHNCeUZpbmdlcnByaW50W2ZpbmdlcnByaW50XVxuICAgIH0sICgpID0+IHtcbiAgICAgIGRlbGV0ZSB0aGlzLnBlbmRpbmdSZXF1ZXN0c0J5RmluZ2VycHJpbnRbZmluZ2VycHJpbnRdXG4gICAgfSlcblxuICAgIHJldHVybiBwcm9taXNlXG4gIH1cblxuICAvKiogQHJldHVybnMge1dlYnNvY2tldFJlcXVlc3RTdWJzY3JpcHRpb259ICovXG4gIGVuc3VyZVN1YnNjcmlwdGlvbiAoKSB7XG4gICAgaWYgKCF0aGlzLnN1YnNjcmlwdGlvbikge1xuICAgICAgbG9nZ2VyLmRlYnVnKFwiQ3JlYXRpbmcgd2Vic29ja2V0IHJlcXVlc3Qgc3Vic2NyaXB0aW9uXCIpXG4gICAgICB0aGlzLnN1YnNjcmlwdGlvblN0YXRlID0gXCJjb25uZWN0aW5nXCJcbiAgICAgIHRoaXMucmVzZXRTdWJzY3JpcHRpb25SZWFkeVByb21pc2UoKVxuXG4gICAgICB0aGlzLnN1YnNjcmlwdGlvbiA9IGNoYW5uZWxzQ29uc3VtZXIoKS5zdWJzY3JpcHRpb25zLmNyZWF0ZShcbiAgICAgICAge2NoYW5uZWw6IFwiQXBpTWFrZXI6OlJlcXVlc3RzQ2hhbm5lbFwifSxcbiAgICAgICAge1xuICAgICAgICAgIGNvbm5lY3RlZDogdGhpcy5vbkNvbm5lY3RlZCxcbiAgICAgICAgICBkaXNjb25uZWN0ZWQ6IHRoaXMub25EaXNjb25uZWN0ZWQsXG4gICAgICAgICAgcmVjZWl2ZWQ6IHRoaXMub25SZWNlaXZlZCxcbiAgICAgICAgICByZWplY3RlZDogdGhpcy5vblJlamVjdGVkXG4gICAgICAgIH1cbiAgICAgIClcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5zdWJzY3JpcHRpb25cbiAgfVxuXG4gIC8qKiBAcmV0dXJucyB7UHJvbWlzZTx2b2lkPn0gKi9cbiAgd2FpdEZvclN1YnNjcmlwdGlvbiAoKSB7XG4gICAgdGhpcy5lbnN1cmVTdWJzY3JpcHRpb24oKVxuXG4gICAgaWYgKHRoaXMuc3Vic2NyaXB0aW9uU3RhdGUgPT0gXCJjb25uZWN0ZWRcIikge1xuICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpXG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLnN1YnNjcmlwdGlvblJlYWR5UHJvbWlzZSkge1xuICAgICAgdGhpcy5yZXNldFN1YnNjcmlwdGlvblJlYWR5UHJvbWlzZSgpXG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuc3Vic2NyaXB0aW9uUmVhZHlQcm9taXNlXG4gIH1cblxuICAvKiogQHJldHVybnMge3ZvaWR9ICovXG4gIHJlc2V0U3Vic2NyaXB0aW9uUmVhZHlQcm9taXNlICgpIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvblJlYWR5UHJvbWlzZSA9IG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIHRoaXMucmVzb2x2ZVN1YnNjcmlwdGlvblJlYWR5UHJvbWlzZSA9IHJlc29sdmVcbiAgICAgIHRoaXMucmVqZWN0U3Vic2NyaXB0aW9uUmVhZHlQcm9taXNlID0gcmVqZWN0XG4gICAgfSlcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge251bWJlcn0gcmVxdWVzdElkXG4gICAqIEByZXR1cm5zIHtzdHJpbmd9XG4gICAqL1xuICBnZW5lcmF0ZVJlcXVlc3RVaWQgKHJlcXVlc3RJZCkge1xuICAgIGlmIChnbG9iYWxUaGlzLmNyeXB0bz8ucmFuZG9tVVVJRCkge1xuICAgICAgcmV0dXJuIGdsb2JhbFRoaXMuY3J5cHRvLnJhbmRvbVVVSUQoKVxuICAgIH1cblxuICAgIHJldHVybiBgYXBpLW1ha2VyLXJlcXVlc3QtJHtEYXRlLm5vdygpfS0ke3JlcXVlc3RJZH1gXG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHtudW1iZXJ9IHJlcXVlc3RJZFxuICAgKiBAcmV0dXJucyB7dm9pZH1cbiAgICovXG4gIHNlbmRQZW5kaW5nUmVxdWVzdCAocmVxdWVzdElkKSB7XG4gICAgY29uc3QgcGVuZGluZ1JlcXVlc3QgPSB0aGlzLnBlbmRpbmdSZXF1ZXN0c1tyZXF1ZXN0SWRdXG5cbiAgICBpZiAoIXBlbmRpbmdSZXF1ZXN0KSB7XG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICBpZiAocGVuZGluZ1JlcXVlc3QuZGVsaXZlcnlTdGF0ZSAhPSBcInF1ZXVlZFwiKSB7XG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICBwZW5kaW5nUmVxdWVzdC5kZWxpdmVyeVN0YXRlID0gXCJ3YWl0aW5nX2Zvcl9jb25uZWN0aW9uXCJcblxuICAgIHRoaXMud2FpdEZvclN1YnNjcmlwdGlvbigpXG4gICAgICAudGhlbigoKSA9PiB7XG4gICAgICAgIGNvbnN0IGxhdGVzdFBlbmRpbmdSZXF1ZXN0ID0gdGhpcy5wZW5kaW5nUmVxdWVzdHNbcmVxdWVzdElkXVxuXG4gICAgICAgIGlmICghbGF0ZXN0UGVuZGluZ1JlcXVlc3QpIHtcbiAgICAgICAgICByZXR1cm5cbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChsYXRlc3RQZW5kaW5nUmVxdWVzdC5kZWxpdmVyeVN0YXRlICE9IFwid2FpdGluZ19mb3JfY29ubmVjdGlvblwiKSB7XG4gICAgICAgICAgcmV0dXJuXG4gICAgICAgIH1cblxuICAgICAgICBsYXRlc3RQZW5kaW5nUmVxdWVzdC5kZWxpdmVyeVN0YXRlID0gXCJzZW50XCJcblxuICAgICAgICB0aGlzLmVuc3VyZVN1YnNjcmlwdGlvbigpLnBlcmZvcm0oXCJleGVjdXRlXCIsIHtcbiAgICAgICAgICBjYWNoZV9yZXNwb25zZTogbGF0ZXN0UGVuZGluZ1JlcXVlc3QuY2FjaGVSZXNwb25zZSxcbiAgICAgICAgICBnbG9iYWw6IGxhdGVzdFBlbmRpbmdSZXF1ZXN0Lmdsb2JhbCxcbiAgICAgICAgICBsYXN0X2NvbW1hbmRfZXZlbnRfc2VxdWVuY2U6IGxhdGVzdFBlbmRpbmdSZXF1ZXN0Lmxhc3RDb21tYW5kRXZlbnRTZXF1ZW5jZSxcbiAgICAgICAgICByZXF1ZXN0OiBsYXRlc3RQZW5kaW5nUmVxdWVzdC5yZXF1ZXN0LFxuICAgICAgICAgIHJlcXVlc3RfaWQ6IHJlcXVlc3RJZCxcbiAgICAgICAgICByZXF1ZXN0X3VpZDogbGF0ZXN0UGVuZGluZ1JlcXVlc3QucmVxdWVzdFVpZFxuICAgICAgICB9KVxuICAgICAgfSlcbiAgICAgIC5jYXRjaCgoZXJyb3IpID0+IHtcbiAgICAgICAgY29uc3QgbGF0ZXN0UGVuZGluZ1JlcXVlc3QgPSB0aGlzLnBlbmRpbmdSZXF1ZXN0c1tyZXF1ZXN0SWRdXG5cbiAgICAgICAgaWYgKCFsYXRlc3RQZW5kaW5nUmVxdWVzdCkge1xuICAgICAgICAgIHJldHVyblxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuc3Vic2NyaXB0aW9uU3RhdGUgPT0gXCJyZWplY3RlZFwiKSB7XG4gICAgICAgICAgZGVsZXRlIHRoaXMucGVuZGluZ1JlcXVlc3RzW3JlcXVlc3RJZF1cbiAgICAgICAgICBsYXRlc3RQZW5kaW5nUmVxdWVzdC5yZWplY3QoZXJyb3IpXG4gICAgICAgICAgcmV0dXJuXG4gICAgICAgIH1cblxuICAgICAgICBsYXRlc3RQZW5kaW5nUmVxdWVzdC5kZWxpdmVyeVN0YXRlID0gXCJxdWV1ZWRcIlxuICAgICAgfSlcbiAgfVxuXG4gIC8qKiBAcmV0dXJucyB7dm9pZH0gKi9cbiAgcmVzZW5kUXVldWVkUmVxdWVzdHMgKCkge1xuICAgIE9iamVjdC5lbnRyaWVzKHRoaXMucGVuZGluZ1JlcXVlc3RzKS5mb3JFYWNoKChbcmVxdWVzdElkLCBwZW5kaW5nUmVxdWVzdF0pID0+IHtcbiAgICAgIGlmIChwZW5kaW5nUmVxdWVzdC5kZWxpdmVyeVN0YXRlID09IFwicXVldWVkXCIpIHtcbiAgICAgICAgdGhpcy5zZW5kUGVuZGluZ1JlcXVlc3QocGFyc2VJbnQocmVxdWVzdElkLCAxMCkpXG4gICAgICB9XG4gICAgfSlcbiAgfVxuXG4gIC8qKiBAcmV0dXJucyB7dm9pZH0gKi9cbiAgb25Db25uZWN0ZWQgPSAoKSA9PiB7XG4gICAgbG9nZ2VyLmRlYnVnKFwiV2Vic29ja2V0IHJlcXVlc3Qgc3Vic2NyaXB0aW9uIGNvbm5lY3RlZFwiKVxuICAgIHRoaXMuc3Vic2NyaXB0aW9uU3RhdGUgPSBcImNvbm5lY3RlZFwiXG4gICAgdGhpcy5yZXNvbHZlU3Vic2NyaXB0aW9uUmVhZHlQcm9taXNlPy4oKVxuICAgIHRoaXMucmVzZW5kUXVldWVkUmVxdWVzdHMoKVxuICB9XG5cbiAgLyoqIEByZXR1cm5zIHt2b2lkfSAqL1xuICBvbkRpc2Nvbm5lY3RlZCA9ICgpID0+IHtcbiAgICBsb2dnZXIuZGVidWcoXCJXZWJzb2NrZXQgcmVxdWVzdCBzdWJzY3JpcHRpb24gZGlzY29ubmVjdGVkXCIpXG4gICAgdGhpcy5zdWJzY3JpcHRpb24gPSBudWxsXG5cbiAgICBpZiAodGhpcy5za2lwUmVjb25uZWN0KSB7XG4gICAgICB0aGlzLnN1YnNjcmlwdGlvblN0YXRlID0gXCJyZXNldFwiXG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICBPYmplY3QudmFsdWVzKHRoaXMucGVuZGluZ1JlcXVlc3RzKS5mb3JFYWNoKChwZW5kaW5nUmVxdWVzdCkgPT4ge1xuICAgICAgaWYgKHBlbmRpbmdSZXF1ZXN0LmRlbGl2ZXJ5U3RhdGUgIT0gXCJjb21wbGV0ZWRcIikge1xuICAgICAgICBwZW5kaW5nUmVxdWVzdC5kZWxpdmVyeVN0YXRlID0gXCJxdWV1ZWRcIlxuICAgICAgfVxuICAgIH0pXG5cbiAgICB0aGlzLnN1YnNjcmlwdGlvblN0YXRlID0gXCJkaXNjb25uZWN0ZWRcIlxuICAgIHRoaXMucmVzZXRTdWJzY3JpcHRpb25SZWFkeVByb21pc2UoKVxuICAgIHRoaXMuZW5zdXJlU3Vic2NyaXB0aW9uKClcbiAgfVxuXG4gIC8qKiBAcmV0dXJucyB7dm9pZH0gKi9cbiAgb25SZWplY3RlZCA9ICgpID0+IHtcbiAgICBpZiAodGhpcy5za2lwUmVjb25uZWN0KSB7XG4gICAgICB0aGlzLnN1YnNjcmlwdGlvblN0YXRlID0gXCJyZXNldFwiXG4gICAgICB0aGlzLnN1YnNjcmlwdGlvbiA9IG51bGxcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIGNvbnN0IGVycm9yID0gbmV3IEVycm9yKFwiV2Vic29ja2V0IHJlcXVlc3Qgc3Vic2NyaXB0aW9uIHdhcyByZWplY3RlZFwiKVxuXG4gICAgbG9nZ2VyLmVycm9yKGVycm9yKVxuICAgIHRoaXMucmVqZWN0UGVuZGluZ1JlcXVlc3RzKGVycm9yKVxuICAgIHRoaXMuc3Vic2NyaXB0aW9uU3RhdGUgPSBcInJlamVjdGVkXCJcbiAgICB0aGlzLnN1YnNjcmlwdGlvbiA9IG51bGxcbiAgICB0aGlzLnJlamVjdFN1YnNjcmlwdGlvblJlYWR5UHJvbWlzZT8uKGVycm9yKVxuICAgIHRoaXMucmVzZXRTdWJzY3JpcHRpb25SZWFkeVByb21pc2UoKVxuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7V2Vic29ja2V0UmVzcG9uc2VEYXRhfSBkYXRhXG4gICAqIEByZXR1cm5zIHt2b2lkfVxuICAgKi9cbiAgb25SZWNlaXZlZCA9IChkYXRhKSA9PiB7XG4gICAgY29uc3QgcGVuZGluZ1JlcXVlc3QgPSB0aGlzLnBlbmRpbmdSZXF1ZXN0c1tkYXRhLnJlcXVlc3RfaWRdXG5cbiAgICBpZiAoIXBlbmRpbmdSZXF1ZXN0KSB7XG4gICAgICBsb2dnZXIuZGVidWcoKCkgPT4gW1wiSWdub3Jpbmcgd2Vic29ja2V0IHJlc3BvbnNlIHdpdGhvdXQgYSBwZW5kaW5nIHJlcXVlc3RcIiwge2RhdGF9XSlcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIGlmIChkYXRhLmNvbW1hbmRfZXZlbnRfc2VxdWVuY2UgJiYgZGF0YS5jb21tYW5kX2V2ZW50X3NlcXVlbmNlID4gcGVuZGluZ1JlcXVlc3QubGFzdENvbW1hbmRFdmVudFNlcXVlbmNlKSB7XG4gICAgICBwZW5kaW5nUmVxdWVzdC5sYXN0Q29tbWFuZEV2ZW50U2VxdWVuY2UgPSBkYXRhLmNvbW1hbmRfZXZlbnRfc2VxdWVuY2VcbiAgICB9XG5cbiAgICBpZiAoZGF0YS50eXBlID09IFwiYXBpX21ha2VyX2NvbW1hbmRfbG9nXCIpIHtcbiAgICAgIHBlbmRpbmdSZXF1ZXN0Lm9uTG9nQ2FsbGJhY2tzLmZvckVhY2goKGNhbGxiYWNrKSA9PiBjYWxsYmFjayhkYXRhLm1lc3NhZ2UpKVxuICAgIH0gZWxzZSBpZiAoZGF0YS50eXBlID09IFwiYXBpX21ha2VyX2NvbW1hbmRfcHJvZ3Jlc3NcIikge1xuICAgICAgY29uc3QgcHJvZ3Jlc3NEYXRhID0ge1xuICAgICAgICBjb3VudDogZGF0YS5jb3VudCxcbiAgICAgICAgcHJvZ3Jlc3M6IGRhdGEucHJvZ3Jlc3MsXG4gICAgICAgIHRvdGFsOiBkYXRhLnRvdGFsXG4gICAgICB9XG5cbiAgICAgIHBlbmRpbmdSZXF1ZXN0Lm9uUHJvZ3Jlc3NDYWxsYmFja3MuZm9yRWFjaCgoY2FsbGJhY2spID0+IGNhbGxiYWNrKHByb2dyZXNzRGF0YSkpXG4gICAgfSBlbHNlIGlmIChkYXRhLnR5cGUgPT0gXCJhcGlfbWFrZXJfcmVxdWVzdF9yZWNlaXZlZFwiKSB7XG4gICAgICBwZW5kaW5nUmVxdWVzdC5kZWxpdmVyeVN0YXRlID0gXCJyZWNlaXZlZFwiXG4gICAgICBwZW5kaW5nUmVxdWVzdC5vblJlY2VpdmVkQ2FsbGJhY2tzLmZvckVhY2goKGNhbGxiYWNrKSA9PiBjYWxsYmFjayhkYXRhKSlcbiAgICB9IGVsc2UgaWYgKGRhdGEudHlwZSA9PSBcImFwaV9tYWtlcl9yZXF1ZXN0X3Jlc3BvbnNlXCIpIHtcbiAgICAgIGRlbGV0ZSB0aGlzLnBlbmRpbmdSZXF1ZXN0c1tkYXRhLnJlcXVlc3RfaWRdXG5cbiAgICAgIGlmIChwZW5kaW5nUmVxdWVzdC5jYWNoZVJlc3BvbnNlKSB7XG4gICAgICAgIHRoaXMucmVzcG9uc2VDYWNoZVtwZW5kaW5nUmVxdWVzdC5maW5nZXJwcmludF0gPSBkYXRhLnJlc3BvbnNlXG4gICAgICB9XG5cbiAgICAgIHBlbmRpbmdSZXF1ZXN0LnJlc29sdmUoZGF0YS5yZXNwb25zZSlcbiAgICAgIHRoaXMucmVzb2x2ZUlkbGVXYWl0ZXJzSWZJZGxlKClcbiAgICB9IGVsc2UgaWYgKGRhdGEudHlwZSA9PSBcImFwaV9tYWtlcl9yZXF1ZXN0X2Vycm9yXCIpIHtcbiAgICAgIGRlbGV0ZSB0aGlzLnBlbmRpbmdSZXF1ZXN0c1tkYXRhLnJlcXVlc3RfaWRdXG4gICAgICBwZW5kaW5nUmVxdWVzdC5yZWplY3QobmV3IEN1c3RvbUVycm9yKFwiV2Vic29ja2V0IHJlcXVlc3QgZmFpbGVkXCIsIHtyZXNwb25zZTogZGF0YS5yZXNwb25zZX0pKVxuICAgICAgdGhpcy5yZXNvbHZlSWRsZVdhaXRlcnNJZklkbGUoKVxuICAgIH0gZWxzZSB7XG4gICAgICBkZWxldGUgdGhpcy5wZW5kaW5nUmVxdWVzdHNbZGF0YS5yZXF1ZXN0X2lkXVxuICAgICAgcGVuZGluZ1JlcXVlc3QucmVqZWN0KG5ldyBFcnJvcihgVW5rbm93biB3ZWJzb2NrZXQgcmVxdWVzdCByZXNwb25zZSB0eXBlOiAke2RhdGEudHlwZX1gKSlcbiAgICAgIHRoaXMucmVzb2x2ZUlkbGVXYWl0ZXJzSWZJZGxlKClcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHtFcnJvcn0gZXJyb3JcbiAgICogQHJldHVybnMge3ZvaWR9XG4gICAqL1xuICByZWplY3RQZW5kaW5nUmVxdWVzdHMgKGVycm9yKSB7XG4gICAgY29uc3QgcGVuZGluZ1JlcXVlc3RzID0gdGhpcy5wZW5kaW5nUmVxdWVzdHNcblxuICAgIHRoaXMucGVuZGluZ1JlcXVlc3RzID0ge31cbiAgICB0aGlzLnBlbmRpbmdSZXF1ZXN0c0J5RmluZ2VycHJpbnQgPSB7fVxuXG4gICAgT2JqZWN0LnZhbHVlcyhwZW5kaW5nUmVxdWVzdHMpLmZvckVhY2goKHBlbmRpbmdSZXF1ZXN0KSA9PiB7XG4gICAgICBxdWV1ZU1pY3JvdGFzaygoKSA9PiBwZW5kaW5nUmVxdWVzdC5yZWplY3QoZXJyb3IpKVxuICAgIH0pXG5cbiAgICB0aGlzLnJlc29sdmVJZGxlV2FpdGVyc0lmSWRsZSgpXG4gIH1cblxuICAvKiogQHJldHVybnMge3ZvaWR9ICovXG4gIHJlc29sdmVJZGxlV2FpdGVyc0lmSWRsZSAoKSB7XG4gICAgaWYgKHRoaXMucGVuZGluZ1JlcXVlc3RzQ291bnQoKSA+IDAgfHwgdGhpcy5pZGxlV2FpdGVycy5sZW5ndGggPT0gMCkge1xuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgY29uc3QgaWRsZVdhaXRlcnMgPSB0aGlzLmlkbGVXYWl0ZXJzXG5cbiAgICB0aGlzLmlkbGVXYWl0ZXJzID0gW11cbiAgICBpZGxlV2FpdGVycy5mb3JFYWNoKChpZGxlV2FpdGVyKSA9PiBpZGxlV2FpdGVyLnJlc29sdmUoKSlcbiAgfVxuXG4gIC8qKiBAcmV0dXJucyB7dm9pZH0gKi9cbiAgcmVzZXQgKCkge1xuICAgIGNvbnN0IHJlc2V0RXJyb3IgPSBuZXcgRXJyb3IoXCJXZWJzb2NrZXQgcmVxdWVzdCBjbGllbnQgd2FzIHJlc2V0XCIpXG5cbiAgICB0aGlzLnNraXBSZWNvbm5lY3QgPSB0cnVlXG4gICAgdGhpcy5yZWplY3RQZW5kaW5nUmVxdWVzdHMocmVzZXRFcnJvcilcbiAgICB0aGlzLnJlc3BvbnNlQ2FjaGUgPSB7fVxuICAgIHRoaXMuY3VycmVudFJlcXVlc3RJZCA9IDFcbiAgICB0aGlzLnJlamVjdFN1YnNjcmlwdGlvblJlYWR5UHJvbWlzZT8uKHJlc2V0RXJyb3IpXG5cbiAgICBpZiAodGhpcy5zdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKSB7XG4gICAgICB0aGlzLnN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpXG4gICAgfVxuXG4gICAgdGhpcy5zdWJzY3JpcHRpb24gPSBudWxsXG4gICAgdGhpcy5zdWJzY3JpcHRpb25TdGF0ZSA9IFwibmV3XCJcbiAgICB0aGlzLnJlc29sdmVTdWJzY3JpcHRpb25SZWFkeVByb21pc2UgPSB1bmRlZmluZWRcbiAgICB0aGlzLnJlamVjdFN1YnNjcmlwdGlvblJlYWR5UHJvbWlzZSA9IHVuZGVmaW5lZFxuICAgIHRoaXMuc3Vic2NyaXB0aW9uUmVhZHlQcm9taXNlID0gdW5kZWZpbmVkXG4gIH1cbn1cbiJdfQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"with-api-maker.d.ts","sourceRoot":"/src/","sources":["with-api-maker.jsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"with-api-maker.d.ts","sourceRoot":"/src/","sources":["with-api-maker.jsx"],"names":[],"mappings":"AAMA,mCAUC;AAED,2EAWE;kBA5BsD,OAAO"}
|
package/build/with-api-maker.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
// @ts-check
|
|
2
3
|
import React, { createContext, useContext, useMemo } from "react";
|
|
3
4
|
import ApiMakerConfig from "./config.js";
|
|
4
5
|
import memo from "set-state-compare/build/memo.js";
|
|
@@ -20,4 +21,4 @@ const WithApiMaker = memo(({ children, config, ...restProps }) => {
|
|
|
20
21
|
return (_jsx(ApiMakerContext.Provider, { value: value, children: children }));
|
|
21
22
|
});
|
|
22
23
|
export { useApiMaker, WithApiMaker };
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1hcGktbWFrZXIuanMiLCJzb3VyY2VSb290IjoiL3NyYy8iLCJzb3VyY2VzIjpbIndpdGgtYXBpLW1ha2VyLmpzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsWUFBWTtBQUNaLE9BQU8sS0FBSyxFQUFFLEVBQUMsYUFBYSxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUMsTUFBTSxPQUFPLENBQUE7QUFDL0QsT0FBTyxjQUFjLE1BQU0sYUFBYSxDQUFBO0FBQ3hDLE9BQU8sSUFBSSxNQUFNLGlDQUFpQyxDQUFBO0FBRWxELE1BQU0sZUFBZSxHQUFHLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQTtBQUNoRCxNQUFNLFdBQVcsR0FBRyxHQUFHLEVBQUU7SUFDdkIsTUFBTSxlQUFlLEdBQUcsVUFBVSxDQUFDLGVBQWUsQ0FBQyxDQUFBO0lBRW5ELElBQUksZUFBZSxFQUFFLENBQUM7UUFDcEIsT0FBTyxlQUFlLENBQUE7SUFDeEIsQ0FBQztJQUVELE9BQU87UUFDTCxNQUFNLEVBQUUsY0FBYztLQUN2QixDQUFBO0FBQ0gsQ0FBQyxDQUFBO0FBRUQsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLENBQUMsRUFBQyxRQUFRLEVBQUUsTUFBTSxFQUFFLEdBQUcsU0FBUyxFQUFDLEVBQUUsRUFBRTtJQUM3RCxNQUFNLGFBQWEsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFBO0lBQzVDLE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLEVBQUMsTUFBTSxFQUFDLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUE7SUFFakQsSUFBSSxhQUFhLENBQUMsTUFBTSxHQUFHLENBQUM7UUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLG9CQUFvQixhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQTtJQUU3RixPQUFPLENBQ0wsS0FBQyxlQUFlLENBQUMsUUFBUSxJQUFDLEtBQUssRUFBRSxLQUFLLFlBQ25DLFFBQVEsR0FDZ0IsQ0FDNUIsQ0FBQTtBQUNILENBQUMsQ0FBQyxDQUFBO0FBRUYsT0FBTyxFQUFDLFdBQVcsRUFBRSxZQUFZLEVBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbIi8vIEB0cy1jaGVja1xuaW1wb3J0IFJlYWN0LCB7Y3JlYXRlQ29udGV4dCwgdXNlQ29udGV4dCwgdXNlTWVtb30gZnJvbSBcInJlYWN0XCJcbmltcG9ydCBBcGlNYWtlckNvbmZpZyBmcm9tIFwiLi9jb25maWcuanNcIlxuaW1wb3J0IG1lbW8gZnJvbSBcInNldC1zdGF0ZS1jb21wYXJlL2J1aWxkL21lbW8uanNcIlxuXG5jb25zdCBBcGlNYWtlckNvbnRleHQgPSBjcmVhdGVDb250ZXh0KHVuZGVmaW5lZClcbmNvbnN0IHVzZUFwaU1ha2VyID0gKCkgPT4ge1xuICBjb25zdCBhcGlNYWtlckNvbnRleHQgPSB1c2VDb250ZXh0KEFwaU1ha2VyQ29udGV4dClcblxuICBpZiAoYXBpTWFrZXJDb250ZXh0KSB7XG4gICAgcmV0dXJuIGFwaU1ha2VyQ29udGV4dFxuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBjb25maWc6IEFwaU1ha2VyQ29uZmlnXG4gIH1cbn1cblxuY29uc3QgV2l0aEFwaU1ha2VyID0gbWVtbygoe2NoaWxkcmVuLCBjb25maWcsIC4uLnJlc3RQcm9wc30pID0+IHtcbiAgY29uc3QgcmVzdFByb3BzS2V5cyA9IE9iamVjdC5rZXlzKHJlc3RQcm9wcylcbiAgY29uc3QgdmFsdWUgPSB1c2VNZW1vKCgpID0+ICh7Y29uZmlnfSksIFtjb25maWddKVxuXG4gIGlmIChyZXN0UHJvcHNLZXlzLmxlbmd0aCA+IDApIHRocm93IG5ldyBFcnJvcihgVW5oYW5kbGVkIHByb3BzOiAke3Jlc3RQcm9wc0tleXMuam9pbihcIiwgXCIpfWApXG5cbiAgcmV0dXJuIChcbiAgICA8QXBpTWFrZXJDb250ZXh0LlByb3ZpZGVyIHZhbHVlPXt2YWx1ZX0+XG4gICAgICB7Y2hpbGRyZW59XG4gICAgPC9BcGlNYWtlckNvbnRleHQuUHJvdmlkZXI+XG4gIClcbn0pXG5cbmV4cG9ydCB7dXNlQXBpTWFrZXIsIFdpdGhBcGlNYWtlcn1cbiJdfQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"with-collection.d.ts","sourceRoot":"/src/","sources":["with-collection.jsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"with-collection.d.ts","sourceRoot":"/src/","sources":["with-collection.jsx"],"names":[],"mappings":"AAQe,2HAYb;;kBAfgB,OAAO"}
|
package/build/with-collection.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
// @ts-check
|
|
2
3
|
/* eslint-disable no-invalid-this, sort-imports */
|
|
3
4
|
import { digg } from "diggerize";
|
|
4
5
|
import * as inflection from "inflection";
|
|
@@ -15,4 +16,4 @@ export default (WrappedComponent, withCollectionArgs) => memo(() => {
|
|
|
15
16
|
// @ts-expect-error Legacy this.props in arrow function
|
|
16
17
|
_jsx(WrappedComponent, { ...forwardArgs, ...this.props }));
|
|
17
18
|
});
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1jb2xsZWN0aW9uLmpzIiwic291cmNlUm9vdCI6Ii9zcmMvIiwic291cmNlcyI6WyJ3aXRoLWNvbGxlY3Rpb24uanN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxZQUFZO0FBQ1osa0RBQWtEO0FBQ2xELE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxXQUFXLENBQUE7QUFDOUIsT0FBTyxLQUFLLFVBQVUsTUFBTSxZQUFZLENBQUE7QUFDeEMsT0FBTyxJQUFJLE1BQU0saUNBQWlDLENBQUE7QUFDbEQsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFBO0FBQ3pCLE9BQU8sYUFBYSxNQUFNLHFCQUFxQixDQUFBO0FBRS9DLGVBQWUsQ0FBQyxnQkFBZ0IsRUFBRSxrQkFBa0IsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRTtJQUNqRSxNQUFNLG1CQUFtQixHQUFHLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFBO0lBQzdELE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxRQUFRLENBQUMsQ0FBQTtJQUNsRCxNQUFNLGFBQWEsR0FBRyxVQUFVLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxVQUFVLENBQUMsY0FBYyxFQUFFLEVBQUUsWUFBWSxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUE7SUFDbkgsTUFBTSxXQUFXLEdBQUcsRUFBRSxDQUFBO0lBRXRCLFdBQVcsQ0FBQyxhQUFhLENBQUMsR0FBRyxNQUFNLENBQUE7SUFFbkMsT0FBTztJQUNMLHVEQUF1RDtJQUN2RCxLQUFDLGdCQUFnQixPQUFLLFdBQVcsS0FBTSxJQUFJLENBQUMsS0FBSyxHQUFJLENBQ3RELENBQUE7QUFDSCxDQUFDLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbIi8vIEB0cy1jaGVja1xuLyogZXNsaW50LWRpc2FibGUgbm8taW52YWxpZC10aGlzLCBzb3J0LWltcG9ydHMgKi9cbmltcG9ydCB7ZGlnZ30gZnJvbSBcImRpZ2dlcml6ZVwiXG5pbXBvcnQgKiBhcyBpbmZsZWN0aW9uIGZyb20gXCJpbmZsZWN0aW9uXCJcbmltcG9ydCBtZW1vIGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9idWlsZC9tZW1vLmpzXCJcbmltcG9ydCBSZWFjdCBmcm9tIFwicmVhY3RcIlxuaW1wb3J0IHVzZUNvbGxlY3Rpb24gZnJvbSBcIi4vdXNlLWNvbGxlY3Rpb24uanNcIlxuXG5leHBvcnQgZGVmYXVsdCAoV3JhcHBlZENvbXBvbmVudCwgd2l0aENvbGxlY3Rpb25BcmdzKSA9PiBtZW1vKCgpID0+IHtcbiAgY29uc3QgdXNlQ29sbGVjdGlvblJlc3VsdCA9IHVzZUNvbGxlY3Rpb24od2l0aENvbGxlY3Rpb25BcmdzKVxuICBjb25zdCBtb2RlbHMgPSBkaWdnKHVzZUNvbGxlY3Rpb25SZXN1bHQsIFwibW9kZWxzXCIpXG4gIGNvbnN0IG1vZGVsc0FyZ05hbWUgPSBpbmZsZWN0aW9uLmNhbWVsaXplKGRpZ2cod2l0aENvbGxlY3Rpb25BcmdzLm1vZGVsQ2xhc3MubW9kZWxDbGFzc0RhdGEoKSwgXCJwbHVyYWxOYW1lXCIpLCB0cnVlKVxuICBjb25zdCBmb3J3YXJkQXJncyA9IHt9XG5cbiAgZm9yd2FyZEFyZ3NbbW9kZWxzQXJnTmFtZV0gPSBtb2RlbHNcblxuICByZXR1cm4gKFxuICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgTGVnYWN5IHRoaXMucHJvcHMgaW4gYXJyb3cgZnVuY3Rpb25cbiAgICA8V3JhcHBlZENvbXBvbmVudCB7Li4uZm9yd2FyZEFyZ3N9IHsuLi50aGlzLnByb3BzfSAvPlxuICApXG59KVxuIl19
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"with-current-user.d.ts","sourceRoot":"/src/","sources":["with-current-user.jsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"with-current-user.d.ts","sourceRoot":"/src/","sources":["with-current-user.jsx"],"names":[],"mappings":"AAKe,mDAAuB,UAAK,6CAM1C"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
// @ts-check
|
|
2
3
|
/* eslint-disable react/display-name, react/function-component-definition */
|
|
3
4
|
import React from "react";
|
|
4
5
|
import useCurrentUser from "./use-current-user.js";
|
|
@@ -6,4 +7,4 @@ export default (WrappedComponent) => (props) => {
|
|
|
6
7
|
const currentUser = useCurrentUser();
|
|
7
8
|
return (_jsx(WrappedComponent, { ...props, currentUser: currentUser }));
|
|
8
9
|
};
|
|
9
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1jdXJyZW50LXVzZXIuanMiLCJzb3VyY2VSb290IjoiL3NyYy8iLCJzb3VyY2VzIjpbIndpdGgtY3VycmVudC11c2VyLmpzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsWUFBWTtBQUNaLDRFQUE0RTtBQUM1RSxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUE7QUFDekIsT0FBTyxjQUFjLE1BQU0sdUJBQXVCLENBQUE7QUFFbEQsZUFBZSxDQUFDLGdCQUFnQixFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO0lBQzdDLE1BQU0sV0FBVyxHQUFHLGNBQWMsRUFBRSxDQUFBO0lBRXBDLE9BQU8sQ0FDTCxLQUFDLGdCQUFnQixPQUFLLEtBQUssRUFBRSxXQUFXLEVBQUUsV0FBVyxHQUFJLENBQzFELENBQUE7QUFDSCxDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAdHMtY2hlY2tcbi8qIGVzbGludC1kaXNhYmxlIHJlYWN0L2Rpc3BsYXktbmFtZSwgcmVhY3QvZnVuY3Rpb24tY29tcG9uZW50LWRlZmluaXRpb24gKi9cbmltcG9ydCBSZWFjdCBmcm9tIFwicmVhY3RcIlxuaW1wb3J0IHVzZUN1cnJlbnRVc2VyIGZyb20gXCIuL3VzZS1jdXJyZW50LXVzZXIuanNcIlxuXG5leHBvcnQgZGVmYXVsdCAoV3JhcHBlZENvbXBvbmVudCkgPT4gKHByb3BzKSA9PiB7XG4gIGNvbnN0IGN1cnJlbnRVc2VyID0gdXNlQ3VycmVudFVzZXIoKVxuXG4gIHJldHVybiAoXG4gICAgPFdyYXBwZWRDb21wb25lbnQgey4uLnByb3BzfSBjdXJyZW50VXNlcj17Y3VycmVudFVzZXJ9IC8+XG4gIClcbn1cbiJdfQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"with-model.d.ts","sourceRoot":"/src/","sources":["with-model.jsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"with-model.d.ts","sourceRoot":"/src/","sources":["with-model.jsx"],"names":[],"mappings":"AAMe,mHAWd;;kBAdiB,OAAO"}
|
package/build/with-model.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
// @ts-check
|
|
2
3
|
/* eslint-disable prefer-object-spread, react/function-component-definition, sort-imports */
|
|
3
4
|
import memo from "set-state-compare/build/memo.js";
|
|
4
5
|
import React from "react";
|
|
@@ -11,4 +12,4 @@ export default (WrappedComponent, modelClass, givenArgs) => {
|
|
|
11
12
|
};
|
|
12
13
|
return memo(ApiMakerWithModel);
|
|
13
14
|
};
|
|
14
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIvc3JjLyIsInNvdXJjZXMiOlsid2l0aC1tb2RlbC5qc3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLFlBQVk7QUFDWiw0RkFBNEY7QUFDNUYsT0FBTyxJQUFJLE1BQU0saUNBQWlDLENBQUE7QUFDbEQsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFBO0FBQ3pCLE9BQU8sUUFBUSxNQUFNLGdCQUFnQixDQUFBO0FBRXJDLGVBQWUsQ0FBQyxnQkFBZ0IsRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLEVBQUU7SUFDekQsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLEtBQUssRUFBRSxFQUFFO1FBQ2xDLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLEtBQUssRUFBQyxFQUFFLFNBQVMsQ0FBQyxDQUFBO1FBQzNELE1BQU0sY0FBYyxHQUFHLFFBQVEsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLENBQUE7UUFFakQsT0FBTyxDQUNMLEtBQUMsZ0JBQWdCLE9BQUssY0FBYyxLQUFNLEtBQUssR0FBSSxDQUNwRCxDQUFBO0lBQ0gsQ0FBQyxDQUFBO0lBRUQsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQTtBQUNoQyxDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAdHMtY2hlY2tcbi8qIGVzbGludC1kaXNhYmxlIHByZWZlci1vYmplY3Qtc3ByZWFkLCByZWFjdC9mdW5jdGlvbi1jb21wb25lbnQtZGVmaW5pdGlvbiwgc29ydC1pbXBvcnRzICovXG5pbXBvcnQgbWVtbyBmcm9tIFwic2V0LXN0YXRlLWNvbXBhcmUvYnVpbGQvbWVtby5qc1wiXG5pbXBvcnQgUmVhY3QgZnJvbSBcInJlYWN0XCJcbmltcG9ydCB1c2VNb2RlbCBmcm9tIFwiLi91c2UtbW9kZWwuanNcIlxuXG5leHBvcnQgZGVmYXVsdCAoV3JhcHBlZENvbXBvbmVudCwgbW9kZWxDbGFzcywgZ2l2ZW5BcmdzKSA9PiB7XG4gIGNvbnN0IEFwaU1ha2VyV2l0aE1vZGVsID0gKHByb3BzKSA9PiB7XG4gICAgY29uc3QgYXJncyA9IE9iamVjdC5hc3NpZ24oe21hdGNoOiBwcm9wcy5tYXRjaH0sIGdpdmVuQXJncylcbiAgICBjb25zdCB1c2VNb2RlbFJlc3VsdCA9IHVzZU1vZGVsKG1vZGVsQ2xhc3MsIGFyZ3MpXG5cbiAgICByZXR1cm4gKFxuICAgICAgPFdyYXBwZWRDb21wb25lbnQgey4uLnVzZU1vZGVsUmVzdWx0fSB7Li4ucHJvcHN9IC8+XG4gICAgKVxuICB9XG5cbiAgcmV0dXJuIG1lbW8oQXBpTWFrZXJXaXRoTW9kZWwpXG59XG4iXX0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"with-router.d.ts","sourceRoot":"/src/","sources":["with-router.jsx"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"with-router.d.ts","sourceRoot":"/src/","sources":["with-router.jsx"],"names":[],"mappings":";AAIA;;;EAaC"}
|
package/build/with-router.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
// @ts-check
|
|
2
3
|
import React from "react";
|
|
3
4
|
import useRouter from "./use-router";
|
|
4
5
|
const withRouter = (WrapperComponent) => {
|
|
@@ -11,4 +12,4 @@ const withRouter = (WrapperComponent) => {
|
|
|
11
12
|
return WithRouter;
|
|
12
13
|
};
|
|
13
14
|
export default withRouter;
|
|
14
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1yb3V0ZXIuanMiLCJzb3VyY2VSb290IjoiL3NyYy8iLCJzb3VyY2VzIjpbIndpdGgtcm91dGVyLmpzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsWUFBWTtBQUNaLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQTtBQUN6QixPQUFPLFNBQVMsTUFBTSxjQUFjLENBQUE7QUFFcEMsTUFBTSxVQUFVLEdBQUcsQ0FBQyxnQkFBZ0IsRUFBRSxFQUFFO0lBQ3RDLFNBQVMsVUFBVSxDQUFDLEtBQUs7UUFDdkIsTUFBTSxFQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsZ0JBQWdCLEVBQUUsR0FBRyxTQUFTLEVBQUMsR0FBRyxLQUFLLENBQUE7UUFDNUQsTUFBTSxFQUFDLEtBQUssRUFBQyxHQUFHLFNBQVMsQ0FBQyxFQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsZ0JBQWdCLEVBQUMsQ0FBQyxDQUFBO1FBRTNELE9BQU8sQ0FDTCxLQUFDLGdCQUFnQixJQUFDLEtBQUssRUFBRSxLQUFLLEtBQU0sU0FBUyxHQUFJLENBQ2xELENBQUE7SUFDSCxDQUFDO0lBRUQsVUFBVSxDQUFDLFdBQVcsR0FBRyxjQUFjLGdCQUFnQixDQUFDLFdBQVcsSUFBSSxnQkFBZ0IsQ0FBQyxJQUFJLElBQUksV0FBVyxHQUFHLENBQUE7SUFFOUcsT0FBTyxVQUFVLENBQUE7QUFDbkIsQ0FBQyxDQUFBO0FBRUQsZUFBZSxVQUFVLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAdHMtY2hlY2tcbmltcG9ydCBSZWFjdCBmcm9tIFwicmVhY3RcIlxuaW1wb3J0IHVzZVJvdXRlciBmcm9tIFwiLi91c2Utcm91dGVyXCJcblxuY29uc3Qgd2l0aFJvdXRlciA9IChXcmFwcGVyQ29tcG9uZW50KSA9PiB7XG4gIGZ1bmN0aW9uIFdpdGhSb3V0ZXIocHJvcHMpIHsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBmdW5jLXN0eWxlXG4gICAgY29uc3Qge3BhdGgsIHJvdXRlcywgcm91dGVEZWZpbml0aW9ucywgLi4ucmVzdFByb3BzfSA9IHByb3BzXG4gICAgY29uc3Qge21hdGNofSA9IHVzZVJvdXRlcih7cGF0aCwgcm91dGVzLCByb3V0ZURlZmluaXRpb25zfSlcblxuICAgIHJldHVybiAoXG4gICAgICA8V3JhcHBlckNvbXBvbmVudCBtYXRjaD17bWF0Y2h9IHsuLi5yZXN0UHJvcHN9IC8+XG4gICAgKVxuICB9XG5cbiAgV2l0aFJvdXRlci5kaXNwbGF5TmFtZSA9IGBXaXRoUm91dGVyKCR7V3JhcHBlckNvbXBvbmVudC5kaXNwbGF5TmFtZSB8fCBXcmFwcGVyQ29tcG9uZW50Lm5hbWUgfHwgXCJDb21wb25lbnRcIn0pYFxuXG4gIHJldHVybiBXaXRoUm91dGVyXG59XG5cbmV4cG9ydCBkZWZhdWx0IHdpdGhSb3V0ZXJcbiJdfQ==
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kaspernj/api-maker",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "1.0.
|
|
4
|
+
"version": "1.0.2161",
|
|
5
5
|
"description": "My new module",
|
|
6
6
|
"files": [
|
|
7
7
|
"build/**"
|
|
@@ -73,16 +73,17 @@
|
|
|
73
73
|
"ya-use-event-listener": ">= 0.1.1"
|
|
74
74
|
},
|
|
75
75
|
"devDependencies": {
|
|
76
|
+
"@eslint/js": "^10.0.1",
|
|
76
77
|
"@babel/preset-env": "^7.12.11",
|
|
77
78
|
"@babel/preset-react": "^7.26.3",
|
|
78
79
|
"@eslint/compat": "^2.0.3",
|
|
79
80
|
"@jest/globals": "~30.3.0",
|
|
80
81
|
"@types/react": "~19.0.10",
|
|
81
82
|
"babel-jest": "~30.3.0",
|
|
82
|
-
"eslint": "^10.
|
|
83
|
+
"eslint": "^10.2.1",
|
|
83
84
|
"eslint-config-expo": "~9.2.0",
|
|
84
85
|
"eslint-plugin-jest": "^29.15.0",
|
|
85
|
-
"eslint-plugin-jsdoc": "^62.
|
|
86
|
+
"eslint-plugin-jsdoc": "^62.9.0",
|
|
86
87
|
"eslint-plugin-react": "^7.23.2",
|
|
87
88
|
"expo": "~53.0.27",
|
|
88
89
|
"expo-module-scripts": "^55.0.2",
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
export default class BaseComponent extends ShapeComponent<Record<string, any>, Record<string, any>> {
|
|
2
|
-
constructor(props: Record<string, any>);
|
|
3
|
-
}
|
|
4
|
-
import { ShapeComponent } from "set-state-compare/build/shape-component.js";
|
|
5
|
-
//# sourceMappingURL=base-component.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"base-component.d.ts","sourceRoot":"/src/","sources":["base-component.jsx"],"names":[],"mappings":"AAEA;;CAEC;+BAJ4B,4CAA4C"}
|
package/build/base-component.js
DELETED
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import { ShapeComponent } from "set-state-compare/build/shape-component.js";
|
|
2
|
-
export default class BaseComponent extends ShapeComponent {
|
|
3
|
-
}
|
|
4
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiL3NyYy8iLCJzb3VyY2VzIjpbImJhc2UtY29tcG9uZW50LmpzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sNENBQTRDLENBQUE7QUFFekUsTUFBTSxDQUFDLE9BQU8sT0FBTyxhQUFjLFNBQVEsY0FBYztDQUV4RCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7U2hhcGVDb21wb25lbnR9IGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9idWlsZC9zaGFwZS1jb21wb25lbnQuanNcIlxuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBCYXNlQ29tcG9uZW50IGV4dGVuZHMgU2hhcGVDb21wb25lbnQge1xuICAvLyBOb3RoaW5nIHlldC5cbn1cbiJdfQ==
|