@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,9 +1,19 @@
|
|
|
1
|
+
// @ts-check
|
|
1
2
|
import { ShapeHook, useShapeHook } from "set-state-compare";
|
|
2
3
|
import { useEffect } from "react";
|
|
3
4
|
import ModelEvents from "./model-events.js"; // eslint-disable-line sort-imports
|
|
4
5
|
import PropTypes from "prop-types";
|
|
5
6
|
import debounceFunction from "debounce";
|
|
6
7
|
import propTypesExact from "prop-types-exact";
|
|
8
|
+
/** @typedef {import("./base-model.js").default} BaseModel */
|
|
9
|
+
/** @typedef {string | number | boolean | null} EventArgumentPrimitive */
|
|
10
|
+
/** @typedef {EventArgumentPrimitive | EventArgumentPrimitive[]} EventArgumentValue */
|
|
11
|
+
/** @typedef {{args: Record<string, EventArgumentValue>, eventName: string}} ModelClassEventPayload */
|
|
12
|
+
/** @typedef {{model: BaseModel}} CreatedEventPayload */
|
|
13
|
+
/** @typedef {CreatedEventPayload | ModelClassEventPayload} ModelClassSubscriptionPayload */
|
|
14
|
+
/** @typedef {{active?: boolean, debounce?: boolean|number, onConnected?: () => void}} UseModelClassEventArgs */
|
|
15
|
+
/** @typedef {typeof import("./base-model.js").default} ModelClassType */
|
|
16
|
+
/** @typedef {(payload: ModelClassSubscriptionPayload) => void} EventCallback */
|
|
7
17
|
/** Hook state container for model-class event subscriptions. */
|
|
8
18
|
class UseModelClassEventShapeHook extends ShapeHook {
|
|
9
19
|
static defaultProps = {
|
|
@@ -12,7 +22,7 @@ class UseModelClassEventShapeHook extends ShapeHook {
|
|
|
12
22
|
onConnected: undefined
|
|
13
23
|
};
|
|
14
24
|
static propTypes = propTypesExact({
|
|
15
|
-
active: PropTypes.bool
|
|
25
|
+
active: PropTypes.bool,
|
|
16
26
|
debounce: PropTypes.oneOfType([
|
|
17
27
|
PropTypes.bool,
|
|
18
28
|
PropTypes.number
|
|
@@ -31,22 +41,26 @@ class UseModelClassEventShapeHook extends ShapeHook {
|
|
|
31
41
|
return debounceFunction(this.p.onCallback);
|
|
32
42
|
}, [this.p.debounce, this.p.onCallback]);
|
|
33
43
|
}
|
|
34
|
-
/**
|
|
35
|
-
|
|
44
|
+
/**
|
|
45
|
+
* Forwards a model-class subscription payload to the caller.
|
|
46
|
+
* @param {ModelClassSubscriptionPayload} payload
|
|
47
|
+
* @returns {void}
|
|
48
|
+
*/
|
|
49
|
+
onModelClassEventCallback(payload) {
|
|
36
50
|
if (!this.p.active) {
|
|
37
51
|
return;
|
|
38
52
|
}
|
|
39
53
|
if (this.p.debounce) {
|
|
40
|
-
this.debouncedOnCallback()(
|
|
54
|
+
this.debouncedOnCallback()(payload);
|
|
41
55
|
}
|
|
42
56
|
else {
|
|
43
|
-
this.p.onCallback(
|
|
57
|
+
this.p.onCallback(payload);
|
|
44
58
|
}
|
|
45
59
|
}
|
|
46
60
|
/** @returns {void} */
|
|
47
61
|
setup() {
|
|
48
62
|
useEffect(() => {
|
|
49
|
-
const callback = (
|
|
63
|
+
const callback = (payload) => this.onModelClassEventCallback(payload);
|
|
50
64
|
const modelClassConnection = this.p.event == "creates"
|
|
51
65
|
? ModelEvents.connectCreated(this.p.modelClass, callback)
|
|
52
66
|
: ModelEvents.connectModelClass(this.p.modelClass, this.p.event, callback);
|
|
@@ -63,16 +77,12 @@ class UseModelClassEventShapeHook extends ShapeHook {
|
|
|
63
77
|
}
|
|
64
78
|
}
|
|
65
79
|
/**
|
|
66
|
-
* @param {
|
|
80
|
+
* @param {ModelClassType} modelClass
|
|
67
81
|
* @param {string} event
|
|
68
|
-
* @param {
|
|
69
|
-
* @param {
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
* @param {Function} [args.onConnected]
|
|
73
|
-
* @returns {void}
|
|
74
|
-
*/
|
|
75
|
-
/** apiMakerUseModelClassEvent. */
|
|
82
|
+
* @param {EventCallback} onCallback
|
|
83
|
+
* @param {UseModelClassEventArgs} [args]
|
|
84
|
+
* @returns {void}
|
|
85
|
+
*/
|
|
76
86
|
// eslint-disable-next-line max-params
|
|
77
87
|
const apiMakerUseModelClassEvent = (modelClass, event, onCallback, args = {}) => {
|
|
78
88
|
const { active = true, debounce = 0, onConnected, ...restProps } = args;
|
|
@@ -82,4 +92,4 @@ const apiMakerUseModelClassEvent = (modelClass, event, onCallback, args = {}) =>
|
|
|
82
92
|
useShapeHook(UseModelClassEventShapeHook, { active, debounce, event, modelClass, onCallback, onConnected });
|
|
83
93
|
};
|
|
84
94
|
export default apiMakerUseModelClassEvent;
|
|
85
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
95
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlLW1vZGVsLWNsYXNzLWV2ZW50LmpzIiwic291cmNlUm9vdCI6Ii9zcmMvIiwic291cmNlcyI6WyJ1c2UtbW9kZWwtY2xhc3MtZXZlbnQuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWTtBQUNaLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFDLE1BQU0sbUJBQW1CLENBQUE7QUFDekQsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLE9BQU8sQ0FBQTtBQUMvQixPQUFPLFdBQVcsTUFBTSxtQkFBbUIsQ0FBQSxDQUFDLG1DQUFtQztBQUMvRSxPQUFPLFNBQVMsTUFBTSxZQUFZLENBQUE7QUFDbEMsT0FBTyxnQkFBZ0IsTUFBTSxVQUFVLENBQUE7QUFDdkMsT0FBTyxjQUFjLE1BQU0sa0JBQWtCLENBQUE7QUFFN0MsNkRBQTZEO0FBQzdELHlFQUF5RTtBQUN6RSxzRkFBc0Y7QUFDdEYsc0dBQXNHO0FBQ3RHLHdEQUF3RDtBQUN4RCw0RkFBNEY7QUFDNUYsZ0hBQWdIO0FBQ2hILHlFQUF5RTtBQUN6RSxnRkFBZ0Y7QUFFaEYsZ0VBQWdFO0FBQ2hFLE1BQU0sMkJBQTRCLFNBQVEsU0FBUztJQUNqRCxNQUFNLENBQUMsWUFBWSxHQUFHO1FBQ3BCLE1BQU0sRUFBRSxJQUFJO1FBQ1osUUFBUSxFQUFFLENBQUM7UUFDWCxXQUFXLEVBQUUsU0FBUztLQUN2QixDQUFBO0lBRUQsTUFBTSxDQUFDLFNBQVMsR0FBRyxjQUFjLENBQUM7UUFDaEMsTUFBTSxFQUFFLFNBQVMsQ0FBQyxJQUFJO1FBQ3RCLFFBQVEsRUFBRSxTQUFTLENBQUMsU0FBUyxDQUFDO1lBQzVCLFNBQVMsQ0FBQyxJQUFJO1lBQ2QsU0FBUyxDQUFDLE1BQU07U0FDakIsQ0FBQztRQUNGLEtBQUssRUFBRSxTQUFTLENBQUMsTUFBTSxDQUFDLFVBQVU7UUFDbEMsVUFBVSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsVUFBVTtRQUNyQyxVQUFVLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FB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QUFNLElBQUksS0FBSyxDQUFDLHNEQUFzRCxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUE7SUFDNUcsQ0FBQztJQUVELFlBQVksQ0FBQywyQkFBMkIsRUFBRSxFQUFDLE1BQU0sRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFDLENBQUMsQ0FBQTtBQUMzRyxDQUFDLENBQUE7QUFFRCxlQUFlLDBCQUEwQixDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQHRzLWNoZWNrXG5pbXBvcnQge1NoYXBlSG9vaywgdXNlU2hhcGVIb29rfSBmcm9tIFwic2V0LXN0YXRlLWNvbXBhcmVcIlxuaW1wb3J0IHt1c2VFZmZlY3R9IGZyb20gXCJyZWFjdFwiXG5pbXBvcnQgTW9kZWxFdmVudHMgZnJvbSBcIi4vbW9kZWwtZXZlbnRzLmpzXCIgLy8gZXNsaW50LWRpc2FibGUtbGluZSBzb3J0LWltcG9ydHNcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSBcInByb3AtdHlwZXNcIlxuaW1wb3J0IGRlYm91bmNlRnVuY3Rpb24gZnJvbSBcImRlYm91bmNlXCJcbmltcG9ydCBwcm9wVHlwZXNFeGFjdCBmcm9tIFwicHJvcC10eXBlcy1leGFjdFwiXG5cbi8qKiBAdHlwZWRlZiB7aW1wb3J0KFwiLi9iYXNlLW1vZGVsLmpzXCIpLmRlZmF1bHR9IEJhc2VNb2RlbCAqL1xuLyoqIEB0eXBlZGVmIHtzdHJpbmcgfCBudW1iZXIgfCBib29sZWFuIHwgbnVsbH0gRXZlbnRBcmd1bWVudFByaW1pdGl2ZSAqL1xuLyoqIEB0eXBlZGVmIHtFdmVudEFyZ3VtZW50UHJpbWl0aXZlIHwgRXZlbnRBcmd1bWVudFByaW1pdGl2ZVtdfSBFdmVudEFyZ3VtZW50VmFsdWUgKi9cbi8qKiBAdHlwZWRlZiB7e2FyZ3M6IFJlY29yZDxzdHJpbmcsIEV2ZW50QXJndW1lbnRWYWx1ZT4sIGV2ZW50TmFtZTogc3RyaW5nfX0gTW9kZWxDbGFzc0V2ZW50UGF5bG9hZCAqL1xuLyoqIEB0eXBlZGVmIHt7bW9kZWw6IEJhc2VNb2RlbH19IENyZWF0ZWRFdmVudFBheWxvYWQgKi9cbi8qKiBAdHlwZWRlZiB7Q3JlYXRlZEV2ZW50UGF5bG9hZCB8IE1vZGVsQ2xhc3NFdmVudFBheWxvYWR9IE1vZGVsQ2xhc3NTdWJzY3JpcHRpb25QYXlsb2FkICovXG4vKiogQHR5cGVkZWYge3thY3RpdmU/OiBib29sZWFuLCBkZWJvdW5jZT86IGJvb2xlYW58bnVtYmVyLCBvbkNvbm5lY3RlZD86ICgpID0+IHZvaWR9fSBVc2VNb2RlbENsYXNzRXZlbnRBcmdzICovXG4vKiogQHR5cGVkZWYge3R5cGVvZiBpbXBvcnQoXCIuL2Jhc2UtbW9kZWwuanNcIikuZGVmYXVsdH0gTW9kZWxDbGFzc1R5cGUgKi9cbi8qKiBAdHlwZWRlZiB7KHBheWxvYWQ6IE1vZGVsQ2xhc3NTdWJzY3JpcHRpb25QYXlsb2FkKSA9PiB2b2lkfSBFdmVudENhbGxiYWNrICovXG5cbi8qKiBIb29rIHN0YXRlIGNvbnRhaW5lciBmb3IgbW9kZWwtY2xhc3MgZXZlbnQgc3Vic2NyaXB0aW9ucy4gKi9cbmNsYXNzIFVzZU1vZGVsQ2xhc3NFdmVudFNoYXBlSG9vayBleHRlbmRzIFNoYXBlSG9vayB7XG4gIHN0YXRpYyBkZWZhdWx0UHJvcHMgPSB7XG4gICAgYWN0aXZlOiB0cnVlLFxuICAgIGRlYm91bmNlOiAwLFxuICAgIG9uQ29ubmVjdGVkOiB1bmRlZmluZWRcbiAgfVxuXG4gIHN0YXRpYyBwcm9wVHlwZXMgPSBwcm9wVHlwZXNFeGFjdCh7XG4gICAgYWN0aXZlOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBkZWJvdW5jZTogUHJvcFR5cGVzLm9uZU9mVHlwZShbXG4gICAgICBQcm9wVHlwZXMuYm9vbCxcbiAgICAgIFByb3BUeXBlcy5udW1iZXJcbiAgICBdKSxcbiAgICBldmVudDogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICAgIG1vZGVsQ2xhc3M6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25DYWxsYmFjazogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkNvbm5lY3RlZDogUHJvcFR5cGVzLmZ1bmNcbiAgfSlcblxuICAvKiogQHJldHVybnMge0Z1bmN0aW9ufSAqL1xuICBkZWJvdW5jZWRPbkNhbGxiYWNrKCkge1xuICAgIHJldHVybiB0aGlzLmNhY2hlKFxuICAgICAgXCJkZWJvdW5jZWRPbkNhbGxiYWNrXCIsXG4gICAgICAoKSA9PiB7XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5wLmRlYm91bmNlID09IFwibnVtYmVyXCIpIHtcbiAgICAgICAgICByZXR1cm4gZGVib3VuY2VGdW5jdGlvbih0aGlzLnAub25DYWxsYmFjaywgdGhpcy5wLmRlYm91bmNlKVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGRlYm91bmNlRnVuY3Rpb24odGhpcy5wLm9uQ2FsbGJhY2spXG4gICAgICB9LFxuICAgICAgW3RoaXMucC5kZWJvdW5jZSwgdGhpcy5wLm9uQ2FsbGJhY2tdXG4gICAgKVxuICB9XG5cbiAgLyoqXG4gICAqIEZvcndhcmRzIGEgbW9kZWwtY2xhc3Mgc3Vic2NyaXB0aW9uIHBheWxvYWQgdG8gdGhlIGNhbGxlci5cbiAgICogQHBhcmFtIHtNb2RlbENsYXNzU3Vic2NyaXB0aW9uUGF5bG9hZH0gcGF5bG9hZFxuICAgKiBAcmV0dXJucyB7dm9pZH1cbiAgICovXG4gIG9uTW9kZWxDbGFzc0V2ZW50Q2FsbGJhY2socGF5bG9hZCkge1xuICAgIGlmICghdGhpcy5wLmFjdGl2ZSkge1xuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgaWYgKHRoaXMucC5kZWJvdW5jZSkge1xuICAgICAgdGhpcy5kZWJvdW5jZWRPbkNhbGxiYWNrKCkocGF5bG9hZClcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5wLm9uQ2FsbGJhY2socGF5bG9hZClcbiAgICB9XG4gIH1cblxuICAvKiogQHJldHVybnMge3ZvaWR9ICovXG4gIHNldHVwKCkge1xuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICBjb25zdCBjYWxsYmFjayA9IChwYXlsb2FkKSA9PiB0aGlzLm9uTW9kZWxDbGFzc0V2ZW50Q2FsbGJhY2socGF5bG9hZClcbiAgICAgIGNvbnN0IG1vZGVsQ2xhc3NDb25uZWN0aW9uID0gdGhpcy5wLmV2ZW50ID09IFwiY3JlYXRlc1wiXG4gICAgICAgID8gTW9kZWxFdmVudHMuY29ubmVjdENyZWF0ZWQodGhpcy5wLm1vZGVsQ2xhc3MsIGNhbGxiYWNrKVxuICAgICAgICA6IE1vZGVsRXZlbnRzLmNvbm5lY3RNb2RlbENsYXNzKHRoaXMucC5tb2RlbENsYXNzLCB0aGlzLnAuZXZlbnQsIGNhbGxiYWNrKVxuXG4gICAgICBpZiAodGhpcy5wLm9uQ29ubmVjdGVkKSB7XG4gICAgICAgIG1vZGVsQ2xhc3NDb25uZWN0aW9uLmV2ZW50cy5hZGRMaXN0ZW5lcihcImNvbm5lY3RlZFwiLCB0aGlzLnAub25Db25uZWN0ZWQpXG4gICAgICB9XG5cbiAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgIGlmICh0aGlzLnAub25Db25uZWN0ZWQpIHtcbiAgICAgICAgICBtb2RlbENsYXNzQ29ubmVjdGlvbi5ldmVudHMucmVtb3ZlTGlzdGVuZXIoXCJjb25uZWN0ZWRcIiwgdGhpcy5wLm9uQ29ubmVjdGVkKVxuICAgICAgICB9XG5cbiAgICAgICAgbW9kZWxDbGFzc0Nvbm5lY3Rpb24udW5zdWJzY3JpYmUoKVxuICAgICAgfVxuICAgIH0sIFtdKVxuICB9XG59XG5cbi8qKlxuICogQHBhcmFtIHtNb2RlbENsYXNzVHlwZX0gbW9kZWxDbGFzc1xuICogQHBhcmFtIHtzdHJpbmd9IGV2ZW50XG4gKiBAcGFyYW0ge0V2ZW50Q2FsbGJhY2t9IG9uQ2FsbGJhY2tcbiAqIEBwYXJhbSB7VXNlTW9kZWxDbGFzc0V2ZW50QXJnc30gW2FyZ3NdXG4gKiBAcmV0dXJucyB7dm9pZH1cbiAqL1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG1heC1wYXJhbXNcbmNvbnN0IGFwaU1ha2VyVXNlTW9kZWxDbGFzc0V2ZW50ID0gKG1vZGVsQ2xhc3MsIGV2ZW50LCBvbkNhbGxiYWNrLCBhcmdzID0ge30pID0+IHtcbiAgY29uc3Qge2FjdGl2ZSA9IHRydWUsIGRlYm91bmNlID0gMCwgb25Db25uZWN0ZWQsIC4uLnJlc3RQcm9wc30gPSBhcmdzXG5cbiAgaWYgKE9iamVjdC5rZXlzKHJlc3RQcm9wcykubGVuZ3RoID4gMCkge1xuICAgIHRocm93IG5ldyBFcnJvcihgVW5rbm93biBwcm9wcyBnaXZlbiB0byBhcGlNYWtlclVzZU1vZGVsQ2xhc3NFdmVudDogJHtPYmplY3Qua2V5cyhyZXN0UHJvcHMpLmpvaW4oXCIsIFwiKX1gKVxuICB9XG5cbiAgdXNlU2hhcGVIb29rKFVzZU1vZGVsQ2xhc3NFdmVudFNoYXBlSG9vaywge2FjdGl2ZSwgZGVib3VuY2UsIGV2ZW50LCBtb2RlbENsYXNzLCBvbkNhbGxiYWNrLCBvbkNvbm5lY3RlZH0pXG59XG5cbmV4cG9ydCBkZWZhdWx0IGFwaU1ha2VyVXNlTW9kZWxDbGFzc0V2ZW50XG4iXX0=
|
|
@@ -1,14 +1,127 @@
|
|
|
1
1
|
export default apiMakerUseModelEvent;
|
|
2
|
+
export type EventArgumentPrimitive = string | number | boolean | null;
|
|
3
|
+
export type EventArgumentValue = EventArgumentPrimitive | EventArgumentPrimitive[];
|
|
4
|
+
export type UseModelEventProps = {
|
|
5
|
+
active?: boolean;
|
|
6
|
+
debounce?: number;
|
|
7
|
+
onConnected?: () => void;
|
|
8
|
+
};
|
|
9
|
+
export type EventModel = {
|
|
10
|
+
abilities: import("./base-model.js").ModelAbilityMap;
|
|
11
|
+
changes: import("./base-model.js").ModelDataMap;
|
|
12
|
+
collection: import("./collection.js").default<any>;
|
|
13
|
+
_identifierKey: string | number;
|
|
14
|
+
_markedForDestruction: boolean;
|
|
15
|
+
modelData: import("./base-model.js").ModelDataMap;
|
|
16
|
+
newRecord: boolean;
|
|
17
|
+
previousModelData: any;
|
|
18
|
+
preloadedRelationships: import("./base-model.js").PreloadedRelationshipMap;
|
|
19
|
+
relationshipsCache: import("./base-model.js").LoadedRelationshipMap;
|
|
20
|
+
relationships: import("./base-model.js").LoadedRelationshipMap;
|
|
21
|
+
uniqueKeyValue: number;
|
|
22
|
+
assignAttributes(newAttributes: ModelDataMap): void;
|
|
23
|
+
attributes(): ModelDataMap;
|
|
24
|
+
can(givenAbilityName: string): boolean;
|
|
25
|
+
clone(): /*elided*/ any;
|
|
26
|
+
cacheKey(): number | string;
|
|
27
|
+
localCacheKey(): string;
|
|
28
|
+
fullCacheKey(): string;
|
|
29
|
+
create(attributes?: ModelDataMap, options?: ParseValidationErrorsOptions): Promise<{
|
|
30
|
+
model: /*elided*/ any;
|
|
31
|
+
response: ModelCommandResponse;
|
|
32
|
+
}>;
|
|
33
|
+
createRaw(rawData: RawDataInput, options?: ParseValidationErrorsOptions): Promise<{
|
|
34
|
+
model: /*elided*/ any;
|
|
35
|
+
response: ModelCommandResponse;
|
|
36
|
+
}>;
|
|
37
|
+
destroy(): Promise<{
|
|
38
|
+
model: /*elided*/ any;
|
|
39
|
+
response: ModelCommandResponse;
|
|
40
|
+
}>;
|
|
41
|
+
ensureAbilities(listOfAbilities: string[]): Promise<void>;
|
|
42
|
+
getAttributes(): ModelDataMap;
|
|
43
|
+
handleResponseError(response: ModelCommandResponse): never;
|
|
44
|
+
identifierKey(): number | string;
|
|
45
|
+
isAssociationLoaded(associationName: string): boolean;
|
|
46
|
+
isAssociationLoadedUnderscore(associationNameUnderscore: string): boolean;
|
|
47
|
+
isAssociationPresent(associationName: string): boolean;
|
|
48
|
+
ensureAssociationLoaded(associationName: string): Promise<LoadedRelationshipValue>;
|
|
49
|
+
ensureAssociationLoadedUnderscore(associationNameUnderscore: string): Promise<LoadedRelationshipValue>;
|
|
50
|
+
isAttributeChanged(attributeName: string): boolean;
|
|
51
|
+
isChanged(): boolean;
|
|
52
|
+
isNewRecord(): boolean;
|
|
53
|
+
isPersisted(): boolean;
|
|
54
|
+
savedChangeToAttribute(attributeName: string): boolean;
|
|
55
|
+
setNewModel(model: /*elided*/ any): void;
|
|
56
|
+
setNewModelData(model: /*elided*/ any): void;
|
|
57
|
+
_isDateChanged(oldValue: ModelValue | null | undefined, newValue: ModelValue | null | undefined): boolean | void;
|
|
58
|
+
_isIntegerChanged(oldValue: ModelValue | null | undefined, newValue: ModelValue | null | undefined): boolean | void;
|
|
59
|
+
_isStringChanged(oldValue: ModelValue | null | undefined, newValue: ModelValue | null | undefined): boolean | void;
|
|
60
|
+
modelClassData(): ModelClassDataType;
|
|
61
|
+
reload(): Promise<void>;
|
|
62
|
+
save(): Promise<{
|
|
63
|
+
model: /*elided*/ any;
|
|
64
|
+
response?: object;
|
|
65
|
+
}>;
|
|
66
|
+
saveRaw(rawData: RawDataInput, options?: ParseValidationErrorsOptions & {
|
|
67
|
+
simpleModelErrors?: boolean;
|
|
68
|
+
}): Promise<{
|
|
69
|
+
model: /*elided*/ any;
|
|
70
|
+
response: ModelCommandResponse;
|
|
71
|
+
}>;
|
|
72
|
+
update(newAttributes?: ModelDataMap, options?: ParseValidationErrorsOptions): Promise<{
|
|
73
|
+
model: /*elided*/ any;
|
|
74
|
+
response?: object;
|
|
75
|
+
}>;
|
|
76
|
+
_refreshModelFromResponse(response: ModelCommandResponse): void;
|
|
77
|
+
_refreshModelDataFromResponse(response: ModelCommandResponse): void;
|
|
78
|
+
updateRaw(rawData: RawDataInput, options?: ParseValidationErrorsOptions & {
|
|
79
|
+
simpleModelErrors?: boolean;
|
|
80
|
+
}): Promise<{
|
|
81
|
+
response: ModelCommandResponse;
|
|
82
|
+
model: /*elided*/ any;
|
|
83
|
+
}>;
|
|
84
|
+
isValid(): never;
|
|
85
|
+
isValidOnServer(): Promise<{
|
|
86
|
+
valid: boolean;
|
|
87
|
+
errors: ValidationResponseErrors;
|
|
88
|
+
}>;
|
|
89
|
+
modelClass(): BaseModelClassType;
|
|
90
|
+
preloadRelationship(relationshipName: string, model: /*elided*/ any | /*elided*/ any[] | null): void;
|
|
91
|
+
markForDestruction(): void;
|
|
92
|
+
markedForDestruction(): boolean;
|
|
93
|
+
uniqueKey(): number;
|
|
94
|
+
_callMemberCommand(args: ModelCommandDescriptor, commandArgs: ModelCommandOptions): import("./command-execution.js").default;
|
|
95
|
+
readAttribute(attributeName: string): ModelValue | null | undefined;
|
|
96
|
+
readAttributeUnderscore(attributeName: string): ModelValue | null | undefined;
|
|
97
|
+
isAttributeLoaded(attributeName: string): boolean;
|
|
98
|
+
_isPresent(value: ModelValue | null | undefined): boolean;
|
|
99
|
+
_loadBelongsToReflection(args: RelationshipLoadArgs, queryArgs?: import("./collection.js").QueryArgsType): Promise</*elided*/ any | null>;
|
|
100
|
+
_readBelongsToReflection({ reflectionName }: RelationshipLoadArgs): /*elided*/ any | null;
|
|
101
|
+
_loadHasManyReflection(args: RelationshipLoadArgs, queryArgs?: import("./collection.js").QueryArgsType): Promise</*elided*/ any[]>;
|
|
102
|
+
_loadHasOneReflection(args: RelationshipLoadArgs, queryArgs?: import("./collection.js").QueryArgsType): Promise</*elided*/ any | null>;
|
|
103
|
+
_readHasOneReflection({ reflectionName }: RelationshipLoadArgs): /*elided*/ any | null;
|
|
104
|
+
_readModelDataFromArgs(args?: BaseModelArgsObject): void;
|
|
105
|
+
_readPreloadedRelationships(preloaded: {
|
|
106
|
+
getModel: (relationshipType: string, relationshipId: number | string) => /*elided*/ any;
|
|
107
|
+
}): void;
|
|
108
|
+
primaryKey(): number | string;
|
|
109
|
+
};
|
|
110
|
+
export type EventModelWithId = EventModel & {
|
|
111
|
+
id: () => number | string;
|
|
112
|
+
};
|
|
113
|
+
export type ModelEventPayload = {
|
|
114
|
+
args: Record<string, EventArgumentValue>;
|
|
115
|
+
eventName: string;
|
|
116
|
+
model: EventModel;
|
|
117
|
+
};
|
|
118
|
+
export type EventCallback = (payload: ModelEventPayload) => void;
|
|
2
119
|
/**
|
|
3
|
-
* @param {
|
|
120
|
+
* @param {EventModel | EventModel[]} model
|
|
4
121
|
* @param {string} event
|
|
5
|
-
* @param {
|
|
6
|
-
* @param {
|
|
7
|
-
* @param {boolean} [props.active]
|
|
8
|
-
* @param {number} [props.debounce]
|
|
9
|
-
* @param {Function} [props.onConnected]
|
|
122
|
+
* @param {EventCallback} onCallback
|
|
123
|
+
* @param {UseModelEventProps} [props]
|
|
10
124
|
* @returns {void}
|
|
11
125
|
*/
|
|
12
|
-
|
|
13
|
-
declare function apiMakerUseModelEvent(model: any, event: any, onCallback: any, props: any): void;
|
|
126
|
+
declare function apiMakerUseModelEvent(model: EventModel | EventModel[], event: string, onCallback: EventCallback, props?: UseModelEventProps): void;
|
|
14
127
|
//# sourceMappingURL=use-model-event.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-model-event.d.ts","sourceRoot":"/src/","sources":["use-model-event.js"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"use-model-event.d.ts","sourceRoot":"/src/","sources":["use-model-event.js"],"names":[],"mappings":";qCAOc,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI;iCAChC,sBAAsB,GAAG,sBAAsB,EAAE;iCACjD;IAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,IAAI,CAAA;CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gBA+Hk3xB,CAAC;;;yBAA6O,CAAC;;;;;;;gBAAoc,CAAC;;;;;yBAAm7E,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+BA7Hzh4B,UAAU,GAAG;IAAC,EAAE,EAAE,MAAM,MAAM,GAAC,MAAM,CAAA;CAAC;gCACtC;IAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,UAAU,CAAA;CAAC;4BAChF,CAAC,OAAO,EAAE,iBAAiB,KAAK,IAAI;AAwClD;;;;;;GAMG;AAEH,8CAPW,UAAU,GAAG,UAAU,EAAE,SACzB,MAAM,cACN,aAAa,UACb,kBAAkB,GAChB,IAAI,CA2EhB"}
|
package/build/use-model-event.js
CHANGED
|
@@ -1,11 +1,19 @@
|
|
|
1
|
+
// @ts-check
|
|
1
2
|
/* eslint-disable sort-imports */
|
|
2
3
|
import { useCallback, useLayoutEffect, useMemo, useRef } from "react";
|
|
3
4
|
import debounceFunction from "debounce";
|
|
4
5
|
import ModelEvents from "./model-events.js";
|
|
5
6
|
import useShape from "./use-shape.js";
|
|
7
|
+
/** @typedef {string | number | boolean | null} EventArgumentPrimitive */
|
|
8
|
+
/** @typedef {EventArgumentPrimitive | EventArgumentPrimitive[]} EventArgumentValue */
|
|
9
|
+
/** @typedef {{active?: boolean, debounce?: number, onConnected?: () => void}} UseModelEventProps */
|
|
10
|
+
/** @typedef {import("./base-model.js").default} EventModel */
|
|
11
|
+
/** @typedef {EventModel & {id: () => number|string}} EventModelWithId */
|
|
12
|
+
/** @typedef {{args: Record<string, EventArgumentValue>, eventName: string, model: EventModel}} ModelEventPayload */
|
|
13
|
+
/** @typedef {(payload: ModelEventPayload) => void} EventCallback */
|
|
6
14
|
/**
|
|
7
|
-
* @param {
|
|
8
|
-
* @returns {
|
|
15
|
+
* @param {EventModel | EventModel[] | undefined | null} modelOrModels
|
|
16
|
+
* @returns {EventModel[]}
|
|
9
17
|
*/
|
|
10
18
|
const modelsFromInput = (modelOrModels) => {
|
|
11
19
|
if (!modelOrModels) {
|
|
@@ -19,32 +27,29 @@ const modelsFromInput = (modelOrModels) => {
|
|
|
19
27
|
}
|
|
20
28
|
};
|
|
21
29
|
/**
|
|
22
|
-
* @param {
|
|
30
|
+
* @param {EventModel | EventModel[] | undefined | null} modelOrModels
|
|
23
31
|
* @returns {string}
|
|
24
32
|
*/
|
|
25
|
-
const modelsDependencyKey = (modelOrModels) => JSON.stringify(modelsFromInput(modelOrModels).map((model) => model.id()));
|
|
33
|
+
const modelsDependencyKey = (modelOrModels) => JSON.stringify(modelsFromInput(modelOrModels).map((model) => /** @type {EventModelWithId} */ (model).id()));
|
|
26
34
|
/**
|
|
27
|
-
* @param {
|
|
28
|
-
* @returns {Record<string,
|
|
35
|
+
* @param {EventModel | EventModel[] | undefined | null} modelOrModels
|
|
36
|
+
* @returns {Record<string, EventModelWithId>}
|
|
29
37
|
*/
|
|
30
38
|
const modelsByIdFromInput = (modelOrModels) => {
|
|
31
|
-
const modelsById = {};
|
|
39
|
+
const modelsById = /** @type {Record<string, EventModelWithId>} */ ({});
|
|
32
40
|
modelsFromInput(modelOrModels).forEach((model) => {
|
|
33
|
-
|
|
41
|
+
const modelWithId = /** @type {EventModelWithId} */ (model);
|
|
42
|
+
modelsById[modelWithId.id()] = modelWithId;
|
|
34
43
|
});
|
|
35
44
|
return modelsById;
|
|
36
45
|
};
|
|
37
46
|
/**
|
|
38
|
-
* @param {
|
|
47
|
+
* @param {EventModel | EventModel[]} model
|
|
39
48
|
* @param {string} event
|
|
40
|
-
* @param {
|
|
41
|
-
* @param {
|
|
42
|
-
* @param {boolean} [props.active]
|
|
43
|
-
* @param {number} [props.debounce]
|
|
44
|
-
* @param {Function} [props.onConnected]
|
|
49
|
+
* @param {EventCallback} onCallback
|
|
50
|
+
* @param {UseModelEventProps} [props]
|
|
45
51
|
* @returns {void}
|
|
46
52
|
*/
|
|
47
|
-
/** apiMakerUseModelEvent. */
|
|
48
53
|
// eslint-disable-next-line max-params
|
|
49
54
|
const apiMakerUseModelEvent = (model, event, onCallback, props) => {
|
|
50
55
|
const { active = true, debounce, onConnected, ...restProps } = props || {};
|
|
@@ -62,15 +67,15 @@ const apiMakerUseModelEvent = (model, event, onCallback, props) => {
|
|
|
62
67
|
}
|
|
63
68
|
}, [debounce]);
|
|
64
69
|
s.updateMeta({ debounceCallback });
|
|
65
|
-
const onCallbackCallback = useCallback((
|
|
70
|
+
const onCallbackCallback = useCallback((payload) => {
|
|
66
71
|
if (!s.p.active) {
|
|
67
72
|
return;
|
|
68
73
|
}
|
|
69
74
|
if (s.p.debounce) {
|
|
70
|
-
s.m.debounceCallback(
|
|
75
|
+
s.m.debounceCallback(payload);
|
|
71
76
|
}
|
|
72
77
|
else {
|
|
73
|
-
s.p.onCallback(
|
|
78
|
+
s.p.onCallback(payload);
|
|
74
79
|
}
|
|
75
80
|
}, []);
|
|
76
81
|
useLayoutEffect(() => {
|
|
@@ -107,4 +112,4 @@ const apiMakerUseModelEvent = (model, event, onCallback, props) => {
|
|
|
107
112
|
}, []);
|
|
108
113
|
};
|
|
109
114
|
export default apiMakerUseModelEvent;
|
|
110
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlLW1vZGVsLWV2ZW50LmpzIiwic291cmNlUm9vdCI6Ii9zcmMvIiwic291cmNlcyI6WyJ1c2UtbW9kZWwtZXZlbnQuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsaUNBQWlDO0FBQ2pDLE9BQU8sRUFBQyxXQUFXLEVBQUUsZUFBZSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUMsTUFBTSxPQUFPLENBQUE7QUFDbkUsT0FBTyxnQkFBZ0IsTUFBTSxVQUFVLENBQUE7QUFDdkMsT0FBTyxXQUFXLE1BQU0sbUJBQW1CLENBQUE7QUFDM0MsT0FBTyxRQUFRLE1BQU0sZ0JBQWdCLENBQUE7QUFFckM7OztHQUdHO0FBQ0gsTUFBTSxlQUFlLEdBQUcsQ0FBQyxhQUFhLEVBQUUsRUFBRTtJQUN4QyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDbkIsT0FBTyxFQUFFLENBQUE7SUFDWCxDQUFDO1NBQU0sSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUM7UUFDeEMsT0FBTyxhQUFhLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFBO0lBQ3RDLENBQUM7U0FBTSxDQUFDO1FBQ04sT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFBO0lBQ3hCLENBQUM7QUFDSCxDQUFDLENBQUE7QUFFRDs7O0dBR0c7QUFDSCxNQUFNLG1CQUFtQixHQUFHLENBQUMsYUFBYSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUMzRCxlQUFlLENBQUMsYUFBYSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FDMUQsQ0FBQTtBQUVEOzs7R0FHRztBQUNILE1BQU0sbUJBQW1CLEdBQUcsQ0FBQyxhQUFhLEVBQUUsRUFBRTtJQUM1QyxNQUFNLFVBQVUsR0FBRyxFQUFFLENBQUE7SUFFckIsZUFBZSxDQUFDLGFBQWEsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUss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c2VDYWxsYmFjaywgdXNlTGF5b3V0RWZmZWN0LCB1c2VNZW1vLCB1c2VSZWZ9IGZyb20gXCJyZWFjdFwiXG5pbXBvcnQgZGVib3VuY2VGdW5jdGlvbiBmcm9tIFwiZGVib3VuY2VcIlxuaW1wb3J0IE1vZGVsRXZlbnRzIGZyb20gXCIuL21vZGVsLWV2ZW50cy5qc1wiXG5pbXBvcnQgdXNlU2hhcGUgZnJvbSBcIi4vdXNlLXNoYXBlLmpzXCJcblxuLyoqXG4gKiBAcGFyYW0ge29iamVjdHxvYmplY3RbXXx1bmRlZmluZWR8bnVsbH0gbW9kZWxPck1vZGVsc1xuICogQHJldHVybnMge29iamVjdFtdfVxuICovXG5jb25zdCBtb2RlbHNGcm9tSW5wdXQgPSAobW9kZWxPck1vZGVscykgPT4ge1xuICBpZiAoIW1vZGVsT3JNb2RlbHMpIHtcbiAgICByZXR1cm4gW11cbiAgfSBlbHNlIGlmIChBcnJheS5pc0FycmF5KG1vZGVsT3JNb2RlbHMpKSB7XG4gICAgcmV0dXJuIG1vZGVsT3JNb2RlbHMuZmlsdGVyKEJvb2xlYW4pXG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIFttb2RlbE9yTW9kZWxzXVxuICB9XG59XG5cbi8qKlxuICogQHBhcmFtIHtvYmplY3R8b2JqZWN0W118dW5kZWZpbmVkfG51bGx9IG1vZGVsT3JNb2RlbHNcbiAqIEByZXR1cm5zIHtzdHJpbmd9XG4gKi9cbmNvbnN0IG1vZGVsc0RlcGVuZGVuY3lLZXkgPSAobW9kZWxPck1vZGVscykgPT4gSlNPTi5zdHJpbmdpZnkoXG4gIG1vZGVsc0Zyb21JbnB1dChtb2RlbE9yTW9kZWxzKS5tYXAoKG1vZGVsKSA9PiBtb2RlbC5pZCgpKVxuKVxuXG4vKipcbiAqIEBwYXJhbSB7b2JqZWN0fG9iamVjdFtdfHVuZGVmaW5lZHxudWxsfSBtb2RlbE9yTW9kZWxzXG4gKiBAcmV0dXJucyB7UmVjb3JkPHN0cmluZywgb2JqZWN0Pn1cbiAqL1xuY29uc3QgbW9kZWxzQnlJZEZyb21JbnB1dCA9IChtb2RlbE9yTW9kZWxzKSA9PiB7XG4gIGNvbnN0IG1vZGVsc0J5SWQgPSB7fVxuXG4gIG1vZGVsc0Zyb21JbnB1dChtb2RlbE9yTW9kZWxzKS5mb3JFYWNoKChtb2RlbCkgPT4ge1xuICAgIG1vZGVsc0J5SWRbbW9kZWwuaWQoKV0gPSBtb2RlbFxuICB9KVxuXG4gIHJldHVybiBtb2RlbHNCeUlkXG59XG5cbi8qKlxuICogQHBhcmFtIHtpbXBvcnQoXCIuL2Jhc2UtbW9kZWwuanNcIikuZGVmYXVsdHxpbXBvcnQoXCIuL2Jhc2UtbW9kZWwuanNcIikuZGVmYXVsdFtdfSBtb2RlbFxuICogQHBhcmFtIHtzdHJpbmd9IGV2ZW50XG4gKiBAcGFyYW0ge0Z1bmN0aW9ufSBvbkNhbGxiYWNrXG4gKiBAcGFyYW0ge29iamVjdH0gW3Byb3BzXVxuICogQHBhcmFtIHtib29sZWFufSBbcHJvcHMuYWN0aXZlXVxuICogQHBhcmFtIHtudW1iZXJ9IFtwcm9wcy5kZWJvdW5jZV1cbiAqIEBwYXJhbSB7RnVuY3Rpb259IFtwcm9wcy5vbkNvbm5lY3RlZF1cbiAqIEByZXR1cm5zIHt2b2lkfVxuICovXG4vKiogYXBpTWFrZXJVc2VNb2RlbEV2ZW50LiAqL1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG1heC1wYXJhbXNcbmNvbnN0IGFwaU1ha2VyVXNlTW9kZWxFdmVudCA9IChtb2RlbCwgZXZlbnQsIG9uQ2FsbGJhY2ssIHByb3BzKSA9PiB7XG4gIGNvbnN0IHthY3RpdmUgPSB0cnVlLCBkZWJvdW5jZSwgb25Db25uZWN0ZWQsIC4uLnJlc3RQcm9wc30gPSBwcm9wcyB8fCB7fVxuICBjb25zdCBjb25uZWN0aW9uc1JlZiA9IHVzZVJlZih7fSlcblxuICBpZiAoT2JqZWN0LmtleXMocmVzdFByb3BzKS5sZW5ndGggPiAwKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBVbmtub3duIHByb3BzIGdpdmVuIHRvIGFwaU1ha2VyVXNlTW9kZWxFdmVudDogJHtPYmplY3Qua2V5cyhyZXN0UHJvcHMpLmpvaW4oXCIsIFwiKX1gKVxuICB9XG5cbiAgY29uc3QgcyA9IHVzZVNoYXBlKHthY3RpdmUsIGRlYm91bmNlLCBtb2RlbCwgb25DYWxsYmFja30pXG5cbiAgY29uc3QgZGVib3VuY2VDYWxsYmFjayA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGlmICh0eXBlb2YgZGVib3VuY2UgPT0gXCJudW1iZXJcIikge1xuICAgICAgcmV0dXJuIGRlYm91bmNlRnVuY3Rpb24ocy5wLm9uQ2FsbGJhY2ssIGRlYm91bmNlKVxuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gZGVib3VuY2VGdW5jdGlvbihzLnAub25DYWxsYmFjaylcbiAgICB9XG4gIH0sIFtkZWJvdW5jZV0pXG5cbiAgcy51cGRhdGVNZXRhKHtkZWJvdW5jZUNhbGxiYWNrfSlcblxuICBjb25zdCBvbkNhbGxiYWNrQ2FsbGJhY2sgPSB1c2VDYWxsYmFjaygoLi4uYXJncykgPT4ge1xuICAgIGlmICghcy5wLmFjdGl2ZSkge1xuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgaWYgKHMucC5kZWJvdW5jZSkge1xuICAgICAgcy5tLmRlYm91bmNlQ2FsbGJhY2soLi4uYXJncylcbiAgICB9IGVsc2Uge1xuICAgICAgcy5wLm9uQ2FsbGJhY2soLi4uYXJncylcbiAgICB9XG4gIH0sIFtdKVxuXG4gIHVzZUxheW91dEVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgY3VycmVudENvbm5lY3Rpb25zID0gY29ubmVjdGlvbnNSZWYuY3VycmVudFxuICAgIGNvbnN0IG5leHRNb2RlbHNCeUlkID0gbW9kZWxzQnlJZEZyb21JbnB1dChtb2RlbClcblxuICAgIE9iamVjdC5rZXlzKGN1cnJlbnRDb25uZWN0aW9ucykuZm9yRWFjaCgobW9kZWxJZCkgPT4ge1xuICAgICAgaWYgKCEobW9kZWxJZCBpbiBuZXh0TW9kZWxzQnlJZCkpIHtcbiAgICAgICAgaWYgKG9uQ29ubmVjdGVkKSB7XG4gICAgICAgICAgY3VycmVudENvbm5lY3Rpb25zW21vZGVsSWRdLmV2ZW50cy5yZW1vdmVMaXN0ZW5lcihcImNvbm5lY3RlZFwiLCBvbkNvbm5lY3RlZClcbiAgICAgICAgfVxuXG4gICAgICAgIGN1cnJlbnRDb25uZWN0aW9uc1ttb2RlbElkXS51bnN1YnNjcmliZSgpXG4gICAgICAgIGRlbGV0ZSBjdXJyZW50Q29ubmVjdGlvbnNbbW9kZWxJZF1cbiAgICAgIH1cbiAgICB9KVxuXG4gICAgT2JqZWN0LmtleXMobmV4dE1vZGVsc0J5SWQpLmZvckVhY2goKG1vZGVsSWQpID0+IHtcbiAgICAgIGlmIChtb2RlbElkIGluIGN1cnJlbnRDb25uZWN0aW9ucykge1xuICAgICAgICByZXR1cm5cbiAgICAgIH1cblxuICAgICAgY29uc3QgZXZlbnRDb25uZWN0aW9uID0gTW9kZWxFdmVudHMuY29ubmVjdChuZXh0TW9kZWxzQnlJZFttb2RlbElkXSwgZXZlbnQsIG9uQ2FsbGJhY2tDYWxsYmFjaylcbiAgICAgIGN1cnJlbnRDb25uZWN0aW9uc1ttb2RlbElkXSA9IGV2ZW50Q29ubmVjdGlvblxuXG4gICAgICBpZiAob25Db25uZWN0ZWQpIHtcbiAgICAgICAgZXZlbnRDb25uZWN0aW9uLmV2ZW50cy5hZGRMaXN0ZW5lcihcImNvbm5lY3RlZFwiLCBvbkNvbm5lY3RlZClcbiAgICAgIH1cbiAgICB9KVxuICB9LCBbZXZlbnQsIG1vZGVsc0RlcGVuZGVuY3lLZXkobW9kZWwpXSlcblxuICB1c2VMYXlvdXRFZmZlY3QoKCkgPT4gKCkgPT4ge1xuICAgIE9iamVjdC52YWx1ZXMoY29ubmVjdGlvbnNSZWYuY3VycmVudCkuZm9yRWFjaCgoZXZlbnRDb25uZWN0aW9uKSA9PiB7XG4gICAgICBpZiAob25Db25uZWN0ZWQpIHtcbiAgICAgICAgZXZlbnRDb25uZWN0aW9uLmV2ZW50cy5yZW1vdmVMaXN0ZW5lcihcImNvbm5lY3RlZFwiLCBvbkNvbm5lY3RlZClcbiAgICAgIH1cblxuICAgICAgZXZlbnRDb25uZWN0aW9uLnVuc3Vic2NyaWJlKClcbiAgICB9KVxuXG4gICAgY29ubmVjdGlvbnNSZWYuY3VycmVudCA9IHt9XG4gIH0sIFtdKVxufVxuXG5leHBvcnQgZGVmYXVsdCBhcGlNYWtlclVzZU1vZGVsRXZlbnRcbiJdfQ==
|
|
115
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlLW1vZGVsLWV2ZW50LmpzIiwic291cmNlUm9vdCI6Ii9zcmMvIiwic291cmNlcyI6WyJ1c2UtbW9kZWwtZXZlbnQuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWTtBQUNaLGlDQUFpQztBQUNqQyxPQUFPLEVBQUMsV0FBVyxFQUFFLGVBQWUsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFDLE1BQU0sT0FBTyxDQUFBO0FBQ25FLE9BQU8sZ0JBQWdCLE1BQU0sVUFBVSxDQUFBO0FBQ3ZDLE9BQU8sV0FBVyxNQUFNLG1CQUFtQixDQUFBO0FBQzNDLE9BQU8sUUFBUSxNQUFNLGdCQUFnQixDQUFBO0FBRXJDLHlFQUF5RTtBQUN6RSxzRkFBc0Y7QUFDdEYsb0dBQW9HO0FBQ3BHLDhEQUE4RDtBQUM5RCx5RUFBeUU7QUFDekUsb0hBQW9IO0FBQ3BILG9FQUFvRTtBQUVwRTs7O0dBR0c7QUFDSCxNQUFNLGVBQWUsR0FBRyxDQUFDLGFBQWEsRUFBRSxFQUFFO0lBQ3hDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUNuQixPQUFPLEVBQUUsQ0FBQTtJQUNYLENBQUM7U0FBTSxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQztRQUN4QyxPQUFPLGFBQWEsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUE7SUFDdEMsQ0FBQztTQUFNLENBQUM7UUFDTixPQUFPLENBQUMsYUFBYSxDQUFDLENBQUE7SUFDeEIsQ0FBQztBQUNILENBQUMsQ0FBQTtBQUVEOzs7R0FHRztBQUNILE1BQU0sbUJBQW1CLEdBQUcsQ0FBQyxhQUFhLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQzNELGVBQWUsQ0FBQyxhQUFhLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLCtCQUErQixDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FDNUYsQ0FBQTtBQUVEOzs7R0FHRztB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UUFFRixjQUFjLENBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQTtJQUM3QixDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUE7QUFDUixDQUFDLENBQUE7QUFFRCxlQUFlLHFCQUFxQixDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQHRzLWNoZWNrXG4vKiBlc2xpbnQtZGlzYWJsZSBzb3J0LWltcG9ydHMgKi9cbmltcG9ydCB7dXNlQ2FsbGJhY2ssIHVzZUxheW91dEVmZmVjdCwgdXNlTWVtbywgdXNlUmVmfSBmcm9tIFwicmVhY3RcIlxuaW1wb3J0IGRlYm91bmNlRnVuY3Rpb24gZnJvbSBcImRlYm91bmNlXCJcbmltcG9ydCBNb2RlbEV2ZW50cyBmcm9tIFwiLi9tb2RlbC1ldmVudHMuanNcIlxuaW1wb3J0IHVzZVNoYXBlIGZyb20gXCIuL3VzZS1zaGFwZS5qc1wiXG5cbi8qKiBAdHlwZWRlZiB7c3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbiB8IG51bGx9IEV2ZW50QXJndW1lbnRQcmltaXRpdmUgKi9cbi8qKiBAdHlwZWRlZiB7RXZlbnRBcmd1bWVudFByaW1pdGl2ZSB8IEV2ZW50QXJndW1lbnRQcmltaXRpdmVbXX0gRXZlbnRBcmd1bWVudFZhbHVlICovXG4vKiogQHR5cGVkZWYge3thY3RpdmU/OiBib29sZWFuLCBkZWJvdW5jZT86IG51bWJlciwgb25Db25uZWN0ZWQ/OiAoKSA9PiB2b2lkfX0gVXNlTW9kZWxFdmVudFByb3BzICovXG4vKiogQHR5cGVkZWYge2ltcG9ydChcIi4vYmFzZS1tb2RlbC5qc1wiKS5kZWZhdWx0fSBFdmVudE1vZGVsICovXG4vKiogQHR5cGVkZWYge0V2ZW50TW9kZWwgJiB7aWQ6ICgpID0+IG51bWJlcnxzdHJpbmd9fSBFdmVudE1vZGVsV2l0aElkICovXG4vKiogQHR5cGVkZWYge3thcmdzOiBSZWNvcmQ8c3RyaW5nLCBFdmVudEFyZ3VtZW50VmFsdWU+LCBldmVudE5hbWU6IHN0cmluZywgbW9kZWw6IEV2ZW50TW9kZWx9fSBNb2RlbEV2ZW50UGF5bG9hZCAqL1xuLyoqIEB0eXBlZGVmIHsocGF5bG9hZDogTW9kZWxFdmVudFBheWxvYWQpID0+IHZvaWR9IEV2ZW50Q2FsbGJhY2sgKi9cblxuLyoqXG4gKiBAcGFyYW0ge0V2ZW50TW9kZWwgfCBFdmVudE1vZGVsW10gfCB1bmRlZmluZWQgfCBudWxsfSBtb2RlbE9yTW9kZWxzXG4gKiBAcmV0dXJucyB7RXZlbnRNb2RlbFtdfVxuICovXG5jb25zdCBtb2RlbHNGcm9tSW5wdXQgPSAobW9kZWxPck1vZGVscykgPT4ge1xuICBpZiAoIW1vZGVsT3JNb2RlbHMpIHtcbiAgICByZXR1cm4gW11cbiAgfSBlbHNlIGlmIChBcnJheS5pc0FycmF5KG1vZGVsT3JNb2RlbHMpKSB7XG4gICAgcmV0dXJuIG1vZGVsT3JNb2RlbHMuZmlsdGVyKEJvb2xlYW4pXG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIFttb2RlbE9yTW9kZWxzXVxuICB9XG59XG5cbi8qKlxuICogQHBhcmFtIHtFdmVudE1vZGVsIHwgRXZlbnRNb2RlbFtdIHwgdW5kZWZpbmVkIHwgbnVsbH0gbW9kZWxPck1vZGVsc1xuICogQHJldHVybnMge3N0cmluZ31cbiAqL1xuY29uc3QgbW9kZWxzRGVwZW5kZW5jeUtleSA9IChtb2RlbE9yTW9kZWxzKSA9PiBKU09OLnN0cmluZ2lmeShcbiAgbW9kZWxzRnJvbUlucHV0KG1vZGVsT3JNb2RlbHMpLm1hcCgobW9kZWwpID0+IC8qKiBAdHlwZSB7RXZlbnRNb2RlbFdpdGhJZH0gKi8gKG1vZGVsKS5pZCgpKVxuKVxuXG4vKipcbiAqIEBwYXJhbSB7RXZlbnRNb2RlbCB8IEV2ZW50TW9kZWxbXSB8IHVuZGVmaW5lZCB8IG51bGx9IG1vZGVsT3JNb2RlbHNcbiAqIEByZXR1cm5zIHtSZWNvcmQ8c3RyaW5nLCBFdmVudE1vZGVsV2l0aElkPn1cbiAqL1xuY29uc3QgbW9kZWxzQnlJZEZyb21JbnB1dCA9IChtb2RlbE9yTW9kZWxzKSA9PiB7XG4gIGNvbnN0IG1vZGVsc0J5SWQgPSAvKiogQHR5cGUge1JlY29yZDxzdHJpbmcsIEV2ZW50TW9kZWxXaXRoSWQ+fSAqLyAoe30pXG5cbiAgbW9kZWxzRnJvbUlucHV0KG1vZGVsT3JNb2RlbHMpLmZvckVhY2goKG1vZGVsKSA9PiB7XG4gICAgY29uc3QgbW9kZWxXaXRoSWQgPSAvKiogQHR5cGUge0V2ZW50TW9kZWxXaXRoSWR9ICovIChtb2RlbClcblxuICAgIG1vZGVsc0J5SWRbbW9kZWxXaXRoSWQuaWQoKV0gPSBtb2RlbFdpdGhJZFxuICB9KVxuXG4gIHJldHVybiBtb2RlbHNCeUlkXG59XG5cbi8qKlxuICogQHBhcmFtIHtFdmVudE1vZGVsIHwgRXZlbnRNb2RlbFtdfSBtb2RlbFxuICogQHBhcmFtIHtzdHJpbmd9IGV2ZW50XG4gKiBAcGFyYW0ge0V2ZW50Q2FsbGJhY2t9IG9uQ2FsbGJhY2tcbiAqIEBwYXJhbSB7VXNlTW9kZWxFdmVudFByb3BzfSBbcHJvcHNdXG4gKiBAcmV0dXJucyB7dm9pZH1cbiAqL1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG1heC1wYXJhbXNcbmNvbnN0IGFwaU1ha2VyVXNlTW9kZWxFdmVudCA9IChtb2RlbCwgZXZlbnQsIG9uQ2FsbGJhY2ssIHByb3BzKSA9PiB7XG4gIGNvbnN0IHthY3RpdmUgPSB0cnVlLCBkZWJvdW5jZSwgb25Db25uZWN0ZWQsIC4uLnJlc3RQcm9wc30gPSBwcm9wcyB8fCB7fVxuICBjb25zdCBjb25uZWN0aW9uc1JlZiA9IHVzZVJlZih7fSlcblxuICBpZiAoT2JqZWN0LmtleXMocmVzdFByb3BzKS5sZW5ndGggPiAwKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBVbmtub3duIHByb3BzIGdpdmVuIHRvIGFwaU1ha2VyVXNlTW9kZWxFdmVudDogJHtPYmplY3Qua2V5cyhyZXN0UHJvcHMpLmpvaW4oXCIsIFwiKX1gKVxuICB9XG5cbiAgY29uc3QgcyA9IHVzZVNoYXBlKHthY3RpdmUsIGRlYm91bmNlLCBtb2RlbCwgb25DYWxsYmFja30pXG5cbiAgY29uc3QgZGVib3VuY2VDYWxsYmFjayA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGlmICh0eXBlb2YgZGVib3VuY2UgPT0gXCJudW1iZXJcIikge1xuICAgICAgcmV0dXJuIGRlYm91bmNlRnVuY3Rpb24ocy5wLm9uQ2FsbGJhY2ssIGRlYm91bmNlKVxuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gZGVib3VuY2VGdW5jdGlvbihzLnAub25DYWxsYmFjaylcbiAgICB9XG4gIH0sIFtkZWJvdW5jZV0pXG5cbiAgcy51cGRhdGVNZXRhKHtkZWJvdW5jZUNhbGxiYWNrfSlcblxuICBjb25zdCBvbkNhbGxiYWNrQ2FsbGJhY2sgPSB1c2VDYWxsYmFjaygocGF5bG9hZCkgPT4ge1xuICAgIGlmICghcy5wLmFjdGl2ZSkge1xuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgaWYgKHMucC5kZWJvdW5jZSkge1xuICAgICAgcy5tLmRlYm91bmNlQ2FsbGJhY2socGF5bG9hZClcbiAgICB9IGVsc2Uge1xuICAgICAgcy5wLm9uQ2FsbGJhY2socGF5bG9hZClcbiAgICB9XG4gIH0sIFtdKVxuXG4gIHVzZUxheW91dEVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgY3VycmVudENvbm5lY3Rpb25zID0gY29ubmVjdGlvbnNSZWYuY3VycmVudFxuICAgIGNvbnN0IG5leHRNb2RlbHNCeUlkID0gbW9kZWxzQnlJZEZyb21JbnB1dChtb2RlbClcblxuICAgIE9iamVjdC5rZXlzKGN1cnJlbnRDb25uZWN0aW9ucykuZm9yRWFjaCgobW9kZWxJZCkgPT4ge1xuICAgICAgaWYgKCEobW9kZWxJZCBpbiBuZXh0TW9kZWxzQnlJZCkpIHtcbiAgICAgICAgaWYgKG9uQ29ubmVjdGVkKSB7XG4gICAgICAgICAgY3VycmVudENvbm5lY3Rpb25zW21vZGVsSWRdLmV2ZW50cy5yZW1vdmVMaXN0ZW5lcihcImNvbm5lY3RlZFwiLCBvbkNvbm5lY3RlZClcbiAgICAgICAgfVxuXG4gICAgICAgIGN1cnJlbnRDb25uZWN0aW9uc1ttb2RlbElkXS51bnN1YnNjcmliZSgpXG4gICAgICAgIGRlbGV0ZSBjdXJyZW50Q29ubmVjdGlvbnNbbW9kZWxJZF1cbiAgICAgIH1cbiAgICB9KVxuXG4gICAgT2JqZWN0LmtleXMobmV4dE1vZGVsc0J5SWQpLmZvckVhY2goKG1vZGVsSWQpID0+IHtcbiAgICAgIGlmIChtb2RlbElkIGluIGN1cnJlbnRDb25uZWN0aW9ucykge1xuICAgICAgICByZXR1cm5cbiAgICAgIH1cblxuICAgICAgY29uc3QgZXZlbnRDb25uZWN0aW9uID0gTW9kZWxFdmVudHMuY29ubmVjdChuZXh0TW9kZWxzQnlJZFttb2RlbElkXSwgZXZlbnQsIG9uQ2FsbGJhY2tDYWxsYmFjaylcbiAgICAgIGN1cnJlbnRDb25uZWN0aW9uc1ttb2RlbElkXSA9IGV2ZW50Q29ubmVjdGlvblxuXG4gICAgICBpZiAob25Db25uZWN0ZWQpIHtcbiAgICAgICAgZXZlbnRDb25uZWN0aW9uLmV2ZW50cy5hZGRMaXN0ZW5lcihcImNvbm5lY3RlZFwiLCBvbkNvbm5lY3RlZClcbiAgICAgIH1cbiAgICB9KVxuICB9LCBbZXZlbnQsIG1vZGVsc0RlcGVuZGVuY3lLZXkobW9kZWwpXSlcblxuICB1c2VMYXlvdXRFZmZlY3QoKCkgPT4gKCkgPT4ge1xuICAgIE9iamVjdC52YWx1ZXMoY29ubmVjdGlvbnNSZWYuY3VycmVudCkuZm9yRWFjaCgoZXZlbnRDb25uZWN0aW9uKSA9PiB7XG4gICAgICBpZiAob25Db25uZWN0ZWQpIHtcbiAgICAgICAgZXZlbnRDb25uZWN0aW9uLmV2ZW50cy5yZW1vdmVMaXN0ZW5lcihcImNvbm5lY3RlZFwiLCBvbkNvbm5lY3RlZClcbiAgICAgIH1cblxuICAgICAgZXZlbnRDb25uZWN0aW9uLnVuc3Vic2NyaWJlKClcbiAgICB9KVxuXG4gICAgY29ubmVjdGlvbnNSZWYuY3VycmVudCA9IHt9XG4gIH0sIFtdKVxufVxuXG5leHBvcnQgZGVmYXVsdCBhcGlNYWtlclVzZU1vZGVsRXZlbnRcbiJdfQ==
|