@kaspernj/api-maker 1.0.2160 → 1.0.2162
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,4 @@
|
|
|
1
|
+
// @ts-check
|
|
1
2
|
/* eslint-disable sort-imports */
|
|
2
3
|
import { digg } from "diggerize";
|
|
3
4
|
import ModelEvents from "./model-events.js";
|
|
@@ -73,4 +74,4 @@ export default class ApiMakerUpdatedAttribute extends React.PureComponent {
|
|
|
73
74
|
return this.state.value;
|
|
74
75
|
}
|
|
75
76
|
}
|
|
76
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
77
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlZC1hdHRyaWJ1dGUuanMiLCJzb3VyY2VSb290IjoiL3NyYy8iLCJzb3VyY2VzIjpbInVwZGF0ZWQtYXR0cmlidXRlLmpzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxZQUFZO0FBQ1osaUNBQWlDO0FBQ2pDLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxXQUFXLENBQUE7QUFDOUIsT0FBTyxXQUFXLE1BQU0sbUJBQW1CLENBQUE7QUFDM0MsT0FBTyxTQUFTLE1BQU0sWUFBWSxDQUFBO0FBQ2xDLE9BQU8sY0FBYyxNQUFNLGtCQUFrQixDQUFBO0FBQzdDLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQTtBQUV6QixNQUFNLENBQUMsT0FBTyxPQUFPLHdCQUF5QixTQUFRLEtBQUssQ0FBQyxhQUFhO0lBQ3ZFLE1BQU0sQ0FBQyxTQUFTLEdBQUcsY0FBYyxDQUFDO1FBQ2hDLFNBQVMsRUFBRSxTQUFTLENBQUMsTUFBTTtRQUMzQixLQUFLLEVBQUUsU0FBUyxDQUFDLE1BQU0sQ0FBQyxVQUFVO1FBQ2xDLE9BQU8sRUFBRSxTQUFTLENBQUMsSUFBSTtLQUN4QixDQUFDLENBQUE7SUFFRixZQUFhLEtBQUs7UUFDaEIsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQ1osSUFBSSxDQUFDLEtBQUssR0FBRztZQUNYLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUs7U0FDeEIsQ0FBQTtJQUNILENBQUM7SUFFRCxpQkFBaUI7UUFDZixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUE7UUFDbkIsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFBO0lBQ2hCLENBQUM7SUFFRCxvQkFBb0I7UUFDbEIsdUhBQXVIO1FBQ3ZILElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3hCLElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVyxFQUFFLENBQUE7UUFDbkMsQ0FBQztJQUNILENBQUM7SUFFRCxPQUFPO1FBQ0wsSUFBSSxDQUFDLGNBQWMsR0FBRyxXQUFX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QyxLQUFLLENBQUMsS0FBSyxLQUFLLFNBQVM7WUFBRSxPQUFPLElBQUksQ0FBQTtRQUUvQyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFBO0lBQ3pCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAdHMtY2hlY2tcbi8qIGVzbGludC1kaXNhYmxlIHNvcnQtaW1wb3J0cyAqL1xuaW1wb3J0IHtkaWdnfSBmcm9tIFwiZGlnZ2VyaXplXCJcbmltcG9ydCBNb2RlbEV2ZW50cyBmcm9tIFwiLi9tb2RlbC1ldmVudHMuanNcIlxuaW1wb3J0IFByb3BUeXBlcyBmcm9tIFwicHJvcC10eXBlc1wiXG5pbXBvcnQgcHJvcFR5cGVzRXhhY3QgZnJvbSBcInByb3AtdHlwZXMtZXhhY3RcIlxuaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiXG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEFwaU1ha2VyVXBkYXRlZEF0dHJpYnV0ZSBleHRlbmRzIFJlYWN0LlB1cmVDb21wb25lbnQge1xuICBzdGF0aWMgcHJvcFR5cGVzID0gcHJvcFR5cGVzRXhhY3Qoe1xuICAgIGF0dHJpYnV0ZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBtb2RlbDogUHJvcFR5cGVzLm9iamVjdC5pc1JlcXVpcmVkLFxuICAgIG9uVmFsdWU6IFByb3BUeXBlcy5mdW5jXG4gIH0pXG5cbiAgY29uc3RydWN0b3IgKHByb3BzKSB7XG4gICAgc3VwZXIocHJvcHMpXG4gICAgdGhpcy5zdGF0ZSA9IHtcbiAgICAgIG1vZGVsOiB0aGlzLnByb3BzLm1vZGVsXG4gICAgfVxuICB9XG5cbiAgY29tcG9uZW50RGlkTW91bnQgKCkge1xuICAgIHRoaXMuc2V0QXR0cmlidXRlKClcbiAgICB0aGlzLmNvbm5lY3QoKVxuICB9XG5cbiAgY29tcG9uZW50V2lsbFVubW91bnQgKCkge1xuICAgIC8vIEFwcGFyZW50bHkgJ2NvbXBvbmVudFdpbGxVbm1vdW50JyBjYW4gYmUgY2FsbGVkIHdpdGhvdXQgJ2NvbXBvbmVudERpZE1vdW50JyB3YXMgY2FsbGVkLiBTZXZlcmFsIGJ1ZyByZXBvcnRzIG9uIHRoaXMuXG4gICAgaWYgKHRoaXMuY29ubmVjdFVwZGF0ZWQpIHtcbiAgICAgIHRoaXMuY29ubmVjdFVwZGF0ZWQudW5zdWJzY3JpYmUoKVxuICAgIH1cbiAgfVxuXG4gIGNvbm5lY3QgKCkge1xuICAgIHRoaXMuY29ubmVjdFVwZGF0ZWQgPSBNb2RlbEV2ZW50cy5jb25uZWN0VXBkYXRlZCh0aGlzLnByb3BzLm1vZGVsLCAoYXJncykgPT4ge1xuICAgICAgaWYgKCF0aGlzLnByb3BzLmF0dHJpYnV0ZSB8fCBhcmdzLm1vZGVsLmlzQXR0cmlidXRlTG9hZGVkKHRoaXMucHJvcHMuYXR0cmlidXRlKSkge1xuICAgICAgICB0aGlzLnNldFN0YXRlKFxuICAgICAgICAgIHttb2RlbDogYXJncy5tb2RlbH0sXG4gICAgICAgICAgKCkgPT4gdGhpcy5zZXRBdHRyaWJ1dGUoKVxuICAgICAgICApXG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmxvYWRNb2RlbFdpdGhBdHRyaWJ1dGUoKVxuICAgICAgfVxuICAgIH0pXG4gIH1cblxuICAvLyBUaGlzIGxvYWRzIHRoZSBtb2RlbCBmcm9tIHRoZSBiYWNrZW5kIHdpdGggdGhlIHByaW1hcnkga2V5IGFuZCB0aGUgYXR0cmlidXRlIGFuZCBjYWxscyBzZXRBdHRyaWJ1dGVcbiAgYXN5bmMgbG9hZE1vZGVsV2l0aEF0dHJpYnV0ZSAoKSB7XG4gICAgY29uc3QgaWQgPSB0aGlzLnByb3BzLm1vZGVsLnByaW1hcnlLZXkoKVxuICAgIGNvbnN0IG1vZGVsQ2xhc3MgPSB0aGlzLnByb3BzLm1vZGVsLm1vZGVsQ2xhc3MoKVxuICAgIGNvbnN0IG1vZGVsTmFtZSA9IGRpZ2cobW9kZWxDbGFzcy5tb2RlbENsYXNzRGF0YSgpLCBcIm5hbWVcIilcbiAgICBjb25zdCBwcmltYXJ5S2V5ID0gZGlnZyhtb2RlbENsYXNzLm1vZGVsQ2xhc3NEYXRhKCksIFwicHJpbWFyeUtleVwiKVxuXG4gICAgY29uc3QgYXJncyA9IHt9XG4gICAgYXJnc1tgJHtwcmltYXJ5S2V5fV9lcWBdID0gaWRcblxuICAgIGNvbnN0IHNlbGVjdCA9IHt9XG4gICAgc2VsZWN0W21vZGVsTmFtZV0gPSBbcHJpbWFyeUtleSwgdGhpcy5wcm9wcy5hdHRyaWJ1dGVdXG5cbiAgICBjb25zdCBtb2RlbCA9IGF3YWl0IG1vZGVsQ2xhc3NcbiAgICAgIC5yYW5zYWNrKGFyZ3MpXG4gICAgICAuc2VsZWN0KHNlbGVjdClcbiAgICAgIC5maXJzdCgpXG5cbiAgICB0aGlzLnNldFN0YXRlKFxuICAgICAge21vZGVsfSxcbiAgICAgICgpID0+IHRoaXMuc2V0QXR0cmlidXRlKClcbiAgICApXG4gIH1cblxuICBzZXRBdHRyaWJ1dGUgKCkge1xuICAgIGxldCBuZXdWYWx1ZVxuXG4gICAgaWYgKHRoaXMucHJvcHMub25WYWx1ZSkge1xuICAgICAgbmV3VmFsdWUgPSB0aGlzLnByb3BzLm9uVmFsdWUuYXBwbHkobnVsbCwgW3ttb2RlbDogdGhpcy5zdGF0ZS5tb2RlbH1dKVxuICAgIH0gZWxzZSB7XG4gICAgICBpZiAoIXRoaXMuc3RhdGUubW9kZWxbdGhpcy5wcm9wcy5hdHRyaWJ1dGVdKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgTm8gc3VjaCBtZXRob2Q6ICR7ZGlnZyh0aGlzLnN0YXRlLm1vZGVsLm1vZGVsQ2xhc3NEYXRhKCksIFwibmFtZVwiKX0jJHt0aGlzLnByb3BzLmF0dHJpYnV0ZX0oKWApXG4gICAgICB9XG5cbiAgICAgIG5ld1ZhbHVlID0gdGhpcy5zdGF0ZS5tb2RlbFt0aGlzLnByb3BzLmF0dHJpYnV0ZV0uYXBwbHkodGhpcy5zdGF0ZS5tb2RlbClcbiAgICB9XG5cbiAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgIHZhbHVlOiBuZXdWYWx1ZVxuICAgIH0pXG4gIH1cblxuICByZW5kZXIgKCkge1xuICAgIGlmICh0aGlzLnN0YXRlLnZhbHVlID09PSB1bmRlZmluZWQpIHJldHVybiBudWxsXG5cbiAgICByZXR1cm4gdGhpcy5zdGF0ZS52YWx1ZVxuICB9XG59XG4iXX0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"url-encode.d.ts","sourceRoot":"/src/","sources":["url-encode.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"url-encode.d.ts","sourceRoot":"/src/","sources":["url-encode.js"],"names":[],"mappings":"AAeA;;;GAGG;AACH,0CAHW,MAAM,GACJ,MAAM,CAIlB"}
|
package/build/url-encode.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
// @ts-check
|
|
1
2
|
import escapeStringRegexp from "escape-string-regexp";
|
|
2
3
|
const replaces = {
|
|
3
4
|
" ": "+",
|
|
@@ -16,4 +17,4 @@ const regexp = new RegExp(`(${Object.keys(replaces).map(escapeStringRegexp).join
|
|
|
16
17
|
export default function urlEncode(string) {
|
|
17
18
|
return String(string).replaceAll(regexp, (character) => replaces[character]);
|
|
18
19
|
}
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXJsLWVuY29kZS5qcyIsInNvdXJjZVJvb3QiOiIvc3JjLyIsInNvdXJjZXMiOlsidXJsLWVuY29kZS5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxZQUFZO0FBQ1osT0FBTyxrQkFBa0IsTUFBTSxzQkFBc0IsQ0FBQTtBQUVyRCxNQUFNLFFBQVEsR0FBRztJQUNmLEdBQUcsRUFBRSxHQUFHO0lBQ1IsR0FBRyxFQUFFLEtBQUs7SUFDVixHQUFHLEVBQUUsS0FBSztJQUNWLEdBQUcsRUFBRSxLQUFLO0lBQ1YsR0FBRyxFQUFFLEtBQUs7SUFDVixHQUFHLEVBQUUsS0FBSztDQUNYLENBQUE7QUFFRCxvREFBb0Q7QUFDcEQsTUFBTSxNQUFNLEdBQUcsSUFBSSxNQUFNLENBQUMsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFBO0FBRTlGOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxPQUFPLFVBQVUsU0FBUyxDQUFDLE1BQU07SUFDdEMsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUE7QUFDOUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIEB0cy1jaGVja1xuaW1wb3J0IGVzY2FwZVN0cmluZ1JlZ2V4cCBmcm9tIFwiZXNjYXBlLXN0cmluZy1yZWdleHBcIlxuXG5jb25zdCByZXBsYWNlcyA9IHtcbiAgXCIgXCI6IFwiK1wiLFxuICBcIiZcIjogXCIlMjZcIixcbiAgXCIjXCI6IFwiJTIzXCIsXG4gIFwiK1wiOiBcIiUyQlwiLFxuICBcIi9cIjogXCIlMkZcIixcbiAgXCI/XCI6IFwiJTNGXCJcbn1cblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5ld2xpbmUtcGVyLWNoYWluZWQtY2FsbFxuY29uc3QgcmVnZXhwID0gbmV3IFJlZ0V4cChgKCR7T2JqZWN0LmtleXMocmVwbGFjZXMpLm1hcChlc2NhcGVTdHJpbmdSZWdleHApLmpvaW4oXCJ8XCIpfSlgLCBcImdcIilcblxuLyoqXG4gKiBAcGFyYW0ge3N0cmluZ30gc3RyaW5nXG4gKiBAcmV0dXJucyB7c3RyaW5nfVxuICovXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB1cmxFbmNvZGUoc3RyaW5nKSB7XG4gIHJldHVybiBTdHJpbmcoc3RyaW5nKS5yZXBsYWNlQWxsKHJlZ2V4cCwgKGNoYXJhY3RlcikgPT4gcmVwbGFjZXNbY2hhcmFjdGVyXSlcbn1cbiJdfQ==
|
package/build/use-can-can.d.ts
CHANGED
|
@@ -9,9 +9,9 @@ export default function useCanCan(abilitiesCallback: () => any[], dependencies?:
|
|
|
9
9
|
debug?: boolean;
|
|
10
10
|
}): CanCan;
|
|
11
11
|
export type UseCanCanProps = {
|
|
12
|
-
abilitiesCallback: () =>
|
|
12
|
+
abilitiesCallback: () => Array<object>;
|
|
13
13
|
debug: boolean;
|
|
14
|
-
dependencies:
|
|
14
|
+
dependencies: Array<boolean | number | object | string | null | undefined> | undefined;
|
|
15
15
|
};
|
|
16
16
|
export type UseCanCanState = {
|
|
17
17
|
lastUpdate: Date;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-can-can.d.ts","sourceRoot":"/src/","sources":["use-can-can.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"use-can-can.d.ts","sourceRoot":"/src/","sources":["use-can-can.js"],"names":[],"mappings":"AAkLA;;;;;;GAMG;AACH,qDANW,WAAkB,kCAG1B;IAA0B,KAAK,GAAvB,OAAO;CACf,GAAU,MAAM,CAalB;;uBA3La,MAAM,KAAK,CAAC,MAAM,CAAC;WACnB,OAAO;kBACP,KAAK,CAAC,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,GAAG,SAAS;;;gBAKxE,IAAI;;mBAbC,cAAc"}
|
package/build/use-can-can.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
// @ts-check
|
|
1
2
|
import { ShapeHook, useShapeHook } from "set-state-compare";
|
|
2
3
|
import { useEffect, useMemo } from "react";
|
|
3
4
|
import CanCan from "./can-can.js";
|
|
@@ -5,21 +6,24 @@ import Devise from "./devise.js";
|
|
|
5
6
|
import useEventEmitter from "ya-use-event-emitter";
|
|
6
7
|
/**
|
|
7
8
|
* @typedef {object} UseCanCanProps
|
|
8
|
-
* @property {() => Array} abilitiesCallback
|
|
9
|
+
* @property {() => Array<object>} abilitiesCallback
|
|
9
10
|
* @property {boolean} debug
|
|
10
|
-
* @property {
|
|
11
|
+
* @property {Array<boolean | number | object | string | null | undefined> | undefined} dependencies
|
|
11
12
|
*/
|
|
12
13
|
/**
|
|
13
14
|
* @typedef {object} UseCanCanState
|
|
14
15
|
* @property {Date} lastUpdate
|
|
15
16
|
*/
|
|
16
|
-
/**
|
|
17
|
+
/** Shape hook that keeps ability state synchronized with Devise and dependency changes. */
|
|
17
18
|
/** @augments {ShapeHook<UseCanCanProps, UseCanCanState>} */
|
|
18
19
|
class UseCanCanClass extends ShapeHook {
|
|
19
20
|
state = /** @type {UseCanCanState} */ ({
|
|
20
21
|
lastUpdate: new Date()
|
|
21
22
|
});
|
|
22
|
-
/**
|
|
23
|
+
/**
|
|
24
|
+
* Initializes request bookkeeping and debug state for the hook instance.
|
|
25
|
+
* @param {UseCanCanProps} props
|
|
26
|
+
*/
|
|
23
27
|
constructor(props) {
|
|
24
28
|
super(props);
|
|
25
29
|
this.abilitiesRequestId = 0;
|
|
@@ -31,7 +35,11 @@ class UseCanCanClass extends ShapeHook {
|
|
|
31
35
|
this.dependencyKeyMap = new WeakMap();
|
|
32
36
|
this.dependencyKeyNextId = 1;
|
|
33
37
|
}
|
|
34
|
-
/**
|
|
38
|
+
/**
|
|
39
|
+
* Builds a stable dependency key for one primitive or object reference.
|
|
40
|
+
* @param {boolean | number | object | string | null | undefined} value
|
|
41
|
+
* @returns {string}
|
|
42
|
+
*/
|
|
35
43
|
dependencyKeyFor(value) {
|
|
36
44
|
if (value === null)
|
|
37
45
|
return "null";
|
|
@@ -47,13 +55,20 @@ class UseCanCanClass extends ShapeHook {
|
|
|
47
55
|
}
|
|
48
56
|
return `${valueType}:ref:${this.dependencyKeyMap.get(value)}`;
|
|
49
57
|
}
|
|
50
|
-
/**
|
|
58
|
+
/**
|
|
59
|
+
* Builds one cache key for the whole dependency list.
|
|
60
|
+
* @param {boolean | number | object | string | null | undefined | Array<boolean | number | object | string | null | undefined>} list
|
|
61
|
+
* @returns {string}
|
|
62
|
+
*/
|
|
51
63
|
dependencyListKey(list) {
|
|
52
64
|
if (!Array.isArray(list))
|
|
53
65
|
return this.dependencyKeyFor(list);
|
|
54
66
|
return list.map((value) => this.dependencyKeyFor(value)).join("|");
|
|
55
67
|
}
|
|
56
|
-
/**
|
|
68
|
+
/**
|
|
69
|
+
* Loads or reloads abilities and ignores stale async completions.
|
|
70
|
+
* @param {string | undefined} [reloadKey]
|
|
71
|
+
*/
|
|
57
72
|
loadAbilities = async (reloadKey) => {
|
|
58
73
|
// Drop late ability reload completions after dependency changes or unmounts.
|
|
59
74
|
const requestId = this.abilitiesRequestId + 1;
|
|
@@ -69,7 +84,7 @@ class UseCanCanClass extends ShapeHook {
|
|
|
69
84
|
return;
|
|
70
85
|
this.setState({ lastUpdate: new Date() });
|
|
71
86
|
};
|
|
72
|
-
/**
|
|
87
|
+
/** Reloads abilities after Devise sign-in or sign-out events. */
|
|
73
88
|
onDeviseChange = () => {
|
|
74
89
|
this.deviseReloadKey += 1;
|
|
75
90
|
if (this.p.debug) {
|
|
@@ -77,14 +92,14 @@ class UseCanCanClass extends ShapeHook {
|
|
|
77
92
|
}
|
|
78
93
|
this.loadAbilities(`devise:${this.deviseReloadKey}`);
|
|
79
94
|
};
|
|
80
|
-
/**
|
|
95
|
+
/** Reloads abilities after the global ability cache is reset. */
|
|
81
96
|
onResetAbilities = () => {
|
|
82
97
|
if (this.p.debug) {
|
|
83
98
|
console.log("[useCanCan] onResetAbilities -> loadAbilities()");
|
|
84
99
|
}
|
|
85
100
|
this.loadAbilities();
|
|
86
101
|
};
|
|
87
|
-
/**
|
|
102
|
+
/** Updates hook state after abilities finish loading elsewhere. */
|
|
88
103
|
onAbilitiesLoaded = () => {
|
|
89
104
|
if (this.p.debug) {
|
|
90
105
|
console.log("[useCanCan] onAbilitiesLoaded");
|
|
@@ -93,7 +108,7 @@ class UseCanCanClass extends ShapeHook {
|
|
|
93
108
|
return;
|
|
94
109
|
this.setState({ lastUpdate: new Date() });
|
|
95
110
|
};
|
|
96
|
-
/**
|
|
111
|
+
/** Wires ability loading, debug state, and event subscriptions for the hook. */
|
|
97
112
|
setup() {
|
|
98
113
|
const { debug, dependencies } = this.p;
|
|
99
114
|
const dependencyList = dependencies ?? [];
|
|
@@ -152,4 +167,4 @@ export default function useCanCan(abilitiesCallback, dependencies = undefined, o
|
|
|
152
167
|
const shapeHook = useShapeHook(UseCanCanClass, { abilitiesCallback, debug, dependencies });
|
|
153
168
|
return shapeHook.canCan;
|
|
154
169
|
}
|
|
155
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlLWNhbi1jYW4uanMiLCJzb3VyY2VSb290IjoiL3NyYy8iLCJzb3VyY2VzIjpbInVzZS1jYW4tY2FuLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFDLE1BQU0sbUJBQW1CLENBQUE7QUFDekQsT0FBTyxFQUFDLFNBQVMsRUFBRSxPQUFPLEVBQUMsTUFBTSxPQUFPLENBQUE7QUFDeEMsT0FBTyxNQUFNLE1BQU0sY0FBYyxDQUFBO0FBQ2pDLE9BQU8sTUFBTSxNQUFNLGFBQWEsQ0FBQTtBQUNoQyxPQUFPLGVBQWUsTUFBTSxzQkFBc0IsQ0FBQTtBQUVsRDs7Ozs7R0FLRztBQUVIOzs7R0FHRztBQUVILHNCQUFzQjtBQUN0Qiw0REFBNEQ7QUFDNUQsTUFBTSxjQUFlLFNBQVEsU0FBUztJQUNwQyxLQUFLLEdBQUcsNkJBQTZCLENBQUMsQ0FBQztRQUNyQyxVQUFVLEVBQUUsSUFBSSxJQUFJLEVBQUU7S0FDdkIsQ0FBQyxDQUFBO0lBRUYsbUJBQW1CO0lBQ25CLFlBQVksS0FBSztRQUNmLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUNaLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxDQUFDLENBQUE7UUFDM0IsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUE7UUFDOUIsSUFBSSxDQUFDLFVBQVUsR0FBRyxNQUFNLENBQUMsbUJBQW1CLENBQUMsQ0FBQTtRQUM3QyxJQUFJLENBQUMsZUFBZSxHQUFHLENBQUMsQ0FBQTtRQUN4QixJQUFJLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQTtRQUMxQixJQUFJLENBQUMsNEJBQTRCLEdBQUcsS0FBSyxDQUFBO1FBQ3pDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFBO1FBQ3JDLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxDQUFDLENBQUE7SUFDOUIsQ0FBQztJQUVELHdCQUF3QjtJQUN4QixnQkFBZ0IsQ0FB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RSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQTtJQUNoRixDQUFDO0NBQ0Y7QUFFRDs7Ozs7O0dBTUc7QUFDSCxNQUFNLENBQUMsT0FBTyxVQUFVLFNBQVMsQ0FBQyxpQkFBaUIsRUFBRSxZQUFZLEdBQUcsU0FBUyxFQUFFLE9BQU8sR0FBRyxFQUFFO0lBQ3pGLE1BQU0sRUFBQyxLQUFLLEdBQUcsS0FBSyxFQUFFLEdBQUcsUUFBUSxFQUFDLEdBQUcsT0FBTyxDQUFBO0lBQzVDLE1BQU0sWUFBWSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUE7SUFFMUMsSUFBSSxZQUFZLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQzVCLE1BQU0sSUFBSSxLQUFLLENBQUMsdUNBQXVDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFBO0lBQ25GLENBQUM7SUFFRCxNQUFNLFNBQVMsR0FBRyxZQUFZLENBQUMsY0FBYyxFQUFFLEVBQUMsaUJBQWlCLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBQyxDQUFDLENBQUE7SUFFeEYsT0FBTyxTQUFTLENBQUMsTUFBTSxDQUFBO0FBQ3pCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1NoYXBlSG9vaywgdXNlU2hhcGVIb29rfSBmcm9tIFwic2V0LXN0YXRlLWNvbXBhcmVcIlxuaW1wb3J0IHt1c2VFZmZlY3QsIHVzZU1lbW99IGZyb20gXCJyZWFjdFwiXG5pbXBvcnQgQ2FuQ2FuIGZyb20gXCIuL2Nhbi1jYW4uanNcIlxuaW1wb3J0IERldmlzZSBmcm9tIFwiLi9kZXZpc2UuanNcIlxuaW1wb3J0IHVzZUV2ZW50RW1pdHRlciBmcm9tIFwieWEtdXNlLWV2ZW50LWVtaXR0ZXJcIlxuXG4vKipcbiAqIEB0eXBlZGVmIHtvYmplY3R9IFVzZUNhbkNhblByb3BzXG4gKiBAcHJvcGVydHkgeygpID0+IEFycmF5fSBhYmlsaXRpZXNDYWxsYmFja1xuICogQHByb3BlcnR5IHtib29sZWFufSBkZWJ1Z1xuICogQHByb3BlcnR5IHthbnlbXSB8IHVuZGVmaW5lZH0gZGVwZW5kZW5jaWVzXG4gKi9cblxuLyoqXG4gKiBAdHlwZWRlZiB7b2JqZWN0fSBVc2VDYW5DYW5TdGF0ZVxuICogQHByb3BlcnR5IHtEYXRlfSBsYXN0VXBkYXRlXG4gKi9cblxuLyoqIFVzZUNhbkNhbkNsYXNzLiAqL1xuLyoqIEBhdWdtZW50cyB7U2hhcGVIb29rPFVzZUNhbkNhblByb3BzLCBVc2VDYW5DYW5TdGF0ZT59ICovXG5jbGFzcyBVc2VDYW5DYW5DbGFzcyBleHRlbmRzIFNoYXBlSG9vayB7XG4gIHN0YXRlID0gLyoqIEB0eXBlIHtVc2VDYW5DYW5TdGF0ZX0gKi8gKHtcbiAgICBsYXN0VXBkYXRlOiBuZXcgRGF0ZSgpXG4gIH0pXG5cbiAgLyoqIENvbnN0cnVjdG9yLiAqL1xuICBjb25zdHJ1Y3Rvcihwcm9wcykge1xuICAgIHN1cGVyKHByb3BzKVxuICAgIHRoaXMuYWJpbGl0aWVzUmVxdWVzdElkID0gMFxuICAgIHRoaXMuY2FuQ2FuID0gQ2FuQ2FuLmN1cnJlbnQoKVxuICAgIHRoaXMuZGVidWdUb2tlbiA9IFN5bWJvbChcInVzZS1jYW4tY2FuLWRlYnVnXCIpXG4gICAgdGhpcy5kZXZpc2VSZWxvYWRLZXkgPSAwXG4gICAgdGhpcy5pc0hvb2tNb3VudGVkID0gZmFsc2VcbiAgICB0aGlzLmxvYWRlZFdpdGhDdXN0b21EZXBlbmRlbmNpZXMgPSBmYWxzZVxuICAgIHRoaXMuZGVwZW5kZW5jeUtleU1hcCA9IG5ldyBXZWFrTWFwKClcbiAgICB0aGlzLmRlcGVuZGVuY3lLZXlOZXh0SWQgPSAxXG4gIH1cblxuICAvKiogZGVwZW5kZW5jeUtleUZvci4gKi9cbiAgZGVwZW5kZW5jeUtleUZvcih2YWx1ZSkge1xuICAgIGlmICh2YWx1ZSA9PT0gbnVsbCkgcmV0dXJuIFwibnVsbFwiXG4gICAgaWYgKHZhbHVlID09PSB1bmRlZmluZWQpIHJldHVybiBcInVuZGVmaW5lZFwiXG5cbiAgICBjb25zdCB2YWx1ZVR5cGUgPSB0eXBlb2YgdmFsdWVcblxuICAgIGlmICh2YWx1ZVR5cGUgIT09IFwib2JqZWN0XCIgJiYgdmFsdWVUeXBlICE9PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgIHJldHVybiBgJHt2YWx1ZVR5cGV9OiR7U3RyaW5nKHZhbHVlKX1gXG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLmRlcGVuZGVuY3lLZXlNYXAuaGFzKHZhbHVlKSkge1xuICAgICAgdGhpcy5kZXBlbmRlbmN5S2V5TWFwLnNldCh2YWx1ZSwgdGhpcy5kZXBlbmRlbmN5S2V5TmV4dElkKVxuICAgICAgdGhpcy5kZXBlbmRlbmN5S2V5TmV4dElkICs9IDFcbiAgICB9XG5cbiAgICByZXR1cm4gYCR7dmFsdWVUeXBlfTpyZWY6JHt0aGlzLmRlcGVuZGVuY3lLZXlNYXAuZ2V0KHZhbHVlKX1gXG4gIH1cblxuICAvKiogZGVwZW5kZW5jeUxpc3RLZXkuICovXG4gIGRlcGVuZGVuY3lMaXN0S2V5KGxpc3QpIHtcbiAgICBpZiAoIUFycmF5LmlzQXJyYXkobGlzdCkpIHJldHVybiB0aGlzLmRlcGVuZGVuY3lLZXlGb3IobGlzdClcblxuICAgIHJldHVybiBsaXN0Lm1hcCgodmFsdWUpID0+IHRoaXMuZGVwZW5kZW5jeUtleUZvcih2YWx1ZSkpLmpvaW4oXCJ8XCIpXG4gIH1cblxuICAvKiogbG9hZEFiaWxpdGllcy4gKi9cbiAgbG9hZEFiaWxpdGllcyA9IGFzeW5jIChyZWxvYWRLZXkpID0+IHtcbiAgICAvLyBEcm9wIGxhdGUgYWJpbGl0eSByZWxvYWQgY29tcGxldGlvbnMgYWZ0ZXIgZGVwZW5kZW5jeSBjaGFuZ2VzIG9yIHVubW91bnRzLlxuICAgIGNvbnN0IHJlcXVlc3RJZCA9IHRoaXMuYWJpbGl0aWVzUmVxdWVzdElkICsgMVxuXG4gICAgdGhpcy5hYmlsaXRpZXNSZXF1ZXN0SWQgPSByZXF1ZXN0SWRcbiAgICBjb25zdCBhYmlsaXRpZXMgPSB0aGlzLnAuYWJpbGl0aWVzQ2FsbGJhY2soKVxuXG4gICAgaWYgKHJlbG9hZEtleSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBhd2FpdCB0aGlzLmNhbkNhbi5sb2FkQWJpbGl0aWVzKGFiaWxpdGllcylcbiAgICB9IGVsc2Uge1xuICAgICAgYXdhaXQgdGhpcy5jYW5DYW4ucmVsb2FkQWJpbGl0aWVzKGFiaWxpdGllcywgcmVsb2FkS2V5KVxuICAgIH1cblxuICAgIGlmICghdGhpcy5pc0hvb2tNb3VudGVkIHx8IHJlcXVlc3RJZCAhPSB0aGlzLmFiaWxpdGllc1JlcXVlc3RJZCkgcmV0dXJuXG5cbiAgICB0aGlzLnNldFN0YXRlKHtsYXN0VXBkYXRlOiBuZXcgRGF0ZSgpfSlcbiAgfVxuXG4gIC8qKiBvbkRldmlzZUNoYW5nZS4gKi9cbiAgb25EZXZpc2VDaGFuZ2UgPSAoKSA9PiB7XG4gICAgdGhpcy5kZXZpc2VSZWxvYWRLZXkgKz0gMVxuXG4gICAgaWYgKHRoaXMucC5kZWJ1Zykge1xuICAgICAgY29uc29sZS5sb2coYFt1c2VDYW5DYW5dIGRldmlzZS1jaGFuZ2UgcmVsb2FkS2V5PWRldmlzZToke3RoaXMuZGV2aXNlUmVsb2FkS2V5fWApXG4gICAgfVxuXG4gICAgdGhpcy5sb2FkQWJpbGl0aWVzKGBkZXZpc2U6JHt0aGlzLmRldmlzZVJlbG9hZEtleX1gKVxuICB9XG5cbiAgLyoqIG9uUmVzZXRBYmlsaXRpZXMuICovXG4gIG9uUmVzZXRBYmlsaXRpZXMgPSAoKSA9PiB7XG4gICAgaWYgKHRoaXMucC5kZWJ1Zykge1xuICAgICAgY29uc29sZS5sb2coXCJbdXNlQ2FuQ2FuXSBvblJlc2V0QWJpbGl0aWVzIC0+IGxvYWRBYmlsaXRpZXMoKVwiKVxuICAgIH1cblxuICAgIHRoaXMubG9hZEFiaWxpdGllcygpXG4gIH1cblxuICAvKiogb25BYmlsaXRpZXNMb2FkZWQuICovXG4gIG9uQWJpbGl0aWVzTG9hZGVkID0gKCkgPT4ge1xuICAgIGlmICh0aGlzLnAuZGVidWcpIHtcbiAgICAgIGNvbnNvbGUubG9nKFwiW3VzZUNhbkNhbl0gb25BYmlsaXRpZXNMb2FkZWRcIilcbiAgICB9XG5cbiAgICBpZiAoIXRoaXMuaXNIb29rTW91bnRlZCkgcmV0dXJuXG5cbiAgICB0aGlzLnNldFN0YXRlKHtsYXN0VXBkYXRlOiBuZXcgRGF0ZSgpfSlcbiAgfVxuXG4gIC8qKiBzZXR1cC4gKi9cbiAgc2V0dXAoKSB7XG4gICAgY29uc3Qge2RlYnVnLCBkZXBlbmRlbmNpZXN9ID0gdGhpcy5wXG4gICAgY29uc3QgZGVwZW5kZW5jeUxpc3QgPSBkZXBlbmRlbmNpZXMgPz8gW11cbiAgICBjb25zdCBkZXBlbmRlbmN5S2V5ID0gdXNlTWVtbygoKSA9PiB0aGlzLmRlcGVuZGVuY3lMaXN0S2V5KGRlcGVuZGVuY3lMaXN0KSwgZGVwZW5kZW5jeUxpc3QpXG4gICAgY29uc3QgaGFzQ3VzdG9tRGVwZW5kZW5jaWVzID0gZGVwZW5kZW5jaWVzICE9PSB1bmRlZmluZWRcblxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICB0aGlzLmlzSG9va01vdW50ZWQgPSB0cnVlXG5cbiAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgIHRoaXMuaXNIb29rTW91bnRlZCA9IGZhbHNlXG4gICAgICAgIHRoaXMuYWJpbGl0aWVzUmVxdWVzdElkICs9IDFcbiAgICAgIH1cbiAgICB9LCBbXSlcblxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICB0aGlzLmNhbkNhbi5zZXREZWJ1Zyh0aGlzLmRlYnVnVG9rZW4sIGRlYnVnKVxuXG4gICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICB0aGlzLmNhbkNhbi5zZXREZWJ1Zyh0aGlzLmRlYnVnVG9rZW4sIGZhbHNlKVxuICAgICAgfVxuICAgIH0sIFtkZWJ1Z10pXG5cbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgaWYgKGRlYnVnKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKGBbdXNlQ2FuQ2FuXSBlZmZlY3QgaGFzQ3VzdG9tRGVwZW5kZW5jaWVzPSR7U3RyaW5nKGhhc0N1c3RvbURlcGVuZGVuY2llcyl9OyBkZXBlbmRlbmN5S2V5PSR7ZGVwZW5kZW5jeUtleX1gKVxuICAgICAgfVxuXG4gICAgICBpZiAoaGFzQ3VzdG9tRGVwZW5kZW5jaWVzKSB7XG4gICAgICAgIGlmICh0aGlzLmxvYWRlZFdpdGhDdXN0b21EZXBlbmRlbmNpZXMpIHtcbiAgICAgICAgICB0aGlzLmxvYWRBYmlsaXRpZXMoZGVwZW5kZW5jeUtleSlcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLmxvYWRlZFdpdGhDdXN0b21EZXBlbmRlbmNpZXMgPSB0cnVlXG4gICAgICAgICAgdGhpcy5sb2FkQWJpbGl0aWVzKClcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5sb2FkZWRXaXRoQ3VzdG9tRGVwZW5kZW5jaWVzID0gZmFsc2VcbiAgICAgICAgdGhpcy5sb2FkQWJpbGl0aWVzKClcbiAgICAgIH1cbiAgICB9LCBbZGVwZW5kZW5jeUtleSwgaGFzQ3VzdG9tRGVwZW5kZW5jaWVzXSlcblxuICAgIHVzZUV2ZW50RW1pdHRlcihEZXZpc2UuZXZlbnRzKCksIFwib25EZXZpc2VTaWduSW5cIiwgdGhpcy5vbkRldmlzZUNoYW5nZSlcbiAgICB1c2VFdmVudEVtaXR0ZXIoRGV2aXNlLmV2ZW50cygpLCBcIm9uRGV2aXNlU2lnbk91dFwiLCB0aGlzLm9uRGV2aXNlQ2hhbmdlKVxuICAgIHVzZUV2ZW50RW1pdHRlcih0aGlzLmNhbkNhbi5ldmVudHMsIFwib25BYmlsaXRpZXNMb2FkZWRcIiwgdGhpcy5vbkFiaWxpdGllc0xvYWRlZClcbiAgICB1c2VFdmVudEVtaXR0ZXIodGhpcy5jYW5DYW4uZXZlbnRzLCBcIm9uUmVzZXRBYmlsaXRpZXNcIiwgdGhpcy5vblJlc2V0QWJpbGl0aWVzKVxuICB9XG59XG5cbi8qKlxuICogQHBhcmFtIHtmdW5jdGlvbigpIDogQXJyYXl9IGFiaWxpdGllc0NhbGxiYWNrXG4gKiBAcGFyYW0ge0FycmF5fSBbZGVwZW5kZW5jaWVzXVxuICogQHBhcmFtIHtvYmplY3R9IFtvcHRpb25zXVxuICogQHBhcmFtIHtib29sZWFufSBbb3B0aW9ucy5kZWJ1Z11cbiAqIEByZXR1cm5zIHtDYW5DYW59XG4gKi9cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHVzZUNhbkNhbihhYmlsaXRpZXNDYWxsYmFjaywgZGVwZW5kZW5jaWVzID0gdW5kZWZpbmVkLCBvcHRpb25zID0ge30pIHtcbiAgY29uc3Qge2RlYnVnID0gZmFsc2UsIC4uLnJlc3RBcmdzfSA9IG9wdGlvbnNcbiAgY29uc3QgcmVzdEFyZ3NLZXlzID0gT2JqZWN0LmtleXMocmVzdEFyZ3MpXG5cbiAgaWYgKHJlc3RBcmdzS2V5cy5sZW5ndGggPiAwKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBVbmtub3duIG9wdGlvbnMgZ2l2ZW4gdG8gdXNlQ2FuQ2FuOiAke3Jlc3RBcmdzS2V5cy5qb2luKFwiLCBcIil9YClcbiAgfVxuXG4gIGNvbnN0IHNoYXBlSG9vayA9IHVzZVNoYXBlSG9vayhVc2VDYW5DYW5DbGFzcywge2FiaWxpdGllc0NhbGxiYWNrLCBkZWJ1ZywgZGVwZW5kZW5jaWVzfSlcblxuICByZXR1cm4gc2hhcGVIb29rLmNhbkNhblxufVxuIl19
|
|
170
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlLWNhbi1jYW4uanMiLCJzb3VyY2VSb290IjoiL3NyYy8iLCJzb3VyY2VzIjpbInVzZS1jYW4tY2FuLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFlBQVk7QUFDWixPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBQyxNQUFNLG1CQUFtQixDQUFBO0FBQ3pELE9BQU8sRUFBQyxTQUFTLEVBQUUsT0FBTyxFQUFDLE1BQU0sT0FBTyxDQUFBO0FBQ3hDLE9BQU8sTUFBTSxNQUFNLGNBQWMsQ0FBQTtBQUNqQyxPQUFPLE1BQU0sTUFBTSxhQUFhLENBQUE7QUFDaEMsT0FBTyxlQUFlLE1BQU0sc0JBQXNCLENBQUE7QUFFbEQ7Ozs7O0dBS0c7QUFFSDs7O0dBR0c7QUFFSCwyRkFBMkY7QUFDM0YsNERBQTREO0FBQzVELE1BQU0sY0FBZSxTQUFRLFNBQVM7SUFDcEMsS0FBSyxHQUFHLDZCQUE2QixDQUFDLENBQUM7UUFDckMsVUFBVSxFQUFFLElBQUksSUFBSSxFQUFFO0tBQ3ZCLENBQUMsQ0FBQTtJQUVGOzs7T0FHRztJQUNILFlBQVksS0FBSztRQUNmLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUNaLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxDQUFDLENBQUE7UUFDM0IsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUE7UUFDOUIsSUFBSSxDQUFDLFVBQVUsR0FBRyxNQUFNLENBQUMsbUJBQW1CLENBQUMsQ0FBQTtRQUM3QyxJQUFJLENBQUMsZUFBZSxHQUFHLENBQUMsQ0FBQTtRQUN4QixJQUFJLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQTtRQUMxQixJQUFJLENBQUMsNEJBQTRCLEdBQUcsS0FBSyxDQUFBO1FBQ3pDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFBO1FBQ3JDLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxDQUFDLENBQUE7SUFDOUIsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxn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LGtCQUFrQixFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFBO0lBQ2hGLENBQUM7Q0FDRjtBQUVEOzs7Ozs7R0FNRztBQUNILE1BQU0sQ0FBQyxPQUFPLFVBQVUsU0FBUyxDQUFDLGlCQUFpQixFQUFFLFlBQVksR0FBRyxTQUFTLEVBQUUsT0FBTyxHQUFHLEVBQUU7SUFDekYsTUFBTSxFQUFDLEtBQUssR0FBRyxLQUFLLEVBQUUsR0FBRyxRQUFRLEVBQUMsR0FBRyxPQUFPLENBQUE7SUFDNUMsTUFBTSxZQUFZLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQTtJQUUxQyxJQUFJLFlBQVksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDNUIsTUFBTSxJQUFJLEtBQUssQ0FBQyx1Q0FBdUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUE7SUFDbkYsQ0FBQztJQUVELE1BQU0sU0FBUyxHQUFHLFlBQVksQ0FBQyxjQUFjLEVBQUUsRUFBQyxpQkFBaUIsRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFDLENBQUMsQ0FBQTtJQUV4RixPQUFPLFNBQVMsQ0FBQyxNQUFNLENBQUE7QUFDekIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIEB0cy1jaGVja1xuaW1wb3J0IHtTaGFwZUhvb2ssIHVzZVNoYXBlSG9va30gZnJvbSBcInNldC1zdGF0ZS1jb21wYXJlXCJcbmltcG9ydCB7dXNlRWZmZWN0LCB1c2VNZW1vfSBmcm9tIFwicmVhY3RcIlxuaW1wb3J0IENhbkNhbiBmcm9tIFwiLi9jYW4tY2FuLmpzXCJcbmltcG9ydCBEZXZpc2UgZnJvbSBcIi4vZGV2aXNlLmpzXCJcbmltcG9ydCB1c2VFdmVudEVtaXR0ZXIgZnJvbSBcInlhLXVzZS1ldmVudC1lbWl0dGVyXCJcblxuLyoqXG4gKiBAdHlwZWRlZiB7b2JqZWN0fSBVc2VDYW5DYW5Qcm9wc1xuICogQHByb3BlcnR5IHsoKSA9PiBBcnJheTxvYmplY3Q+fSBhYmlsaXRpZXNDYWxsYmFja1xuICogQHByb3BlcnR5IHtib29sZWFufSBkZWJ1Z1xuICogQHByb3BlcnR5IHtBcnJheTxib29sZWFuIHwgbnVtYmVyIHwgb2JqZWN0IHwgc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZD4gfCB1bmRlZmluZWR9IGRlcGVuZGVuY2llc1xuICovXG5cbi8qKlxuICogQHR5cGVkZWYge29iamVjdH0gVXNlQ2FuQ2FuU3RhdGVcbiAqIEBwcm9wZXJ0eSB7RGF0ZX0gbGFzdFVwZGF0ZVxuICovXG5cbi8qKiBTaGFwZSBob29rIHRoYXQga2VlcHMgYWJpbGl0eSBzdGF0ZSBzeW5jaHJvbml6ZWQgd2l0aCBEZXZpc2UgYW5kIGRlcGVuZGVuY3kgY2hhbmdlcy4gKi9cbi8qKiBAYXVnbWVudHMge1NoYXBlSG9vazxVc2VDYW5DYW5Qcm9wcywgVXNlQ2FuQ2FuU3RhdGU+fSAqL1xuY2xhc3MgVXNlQ2FuQ2FuQ2xhc3MgZXh0ZW5kcyBTaGFwZUhvb2sge1xuICBzdGF0ZSA9IC8qKiBAdHlwZSB7VXNlQ2FuQ2FuU3RhdGV9ICovICh7XG4gICAgbGFzdFVwZGF0ZTogbmV3IERhdGUoKVxuICB9KVxuXG4gIC8qKlxuICAgKiBJbml0aWFsaXplcyByZXF1ZXN0IGJvb2trZWVwaW5nIGFuZCBkZWJ1ZyBzdGF0ZSBmb3IgdGhlIGhvb2sgaW5zdGFuY2UuXG4gICAqIEBwYXJhbSB7VXNlQ2FuQ2FuUHJvcHN9IHByb3BzXG4gICAqL1xuICBjb25zdHJ1Y3Rvcihwcm9wcykge1xuICAgIHN1cGVyKHByb3BzKVxuICAgIHRoaXMuYWJpbGl0aWVzUmVxdWVzdElkID0gMFxuICAgIHRoaXMuY2FuQ2FuID0gQ2FuQ2FuLmN1cnJlbnQoKVxuICAgIHRoaXMuZGVidWdUb2tlbiA9IFN5bWJvbChcInVzZS1jYW4tY2FuLWRlYnVnXCIpXG4gICAgdGhpcy5kZXZpc2VSZWxvYWRLZXkgPSAwXG4gICAgdGhpcy5pc0hvb2tNb3VudGVkID0gZmFsc2VcbiAgICB0aGlzLmxvYWRlZFdpdGhDdXN0b21EZXBlbmRlbmNpZXMgPSBmYWxzZVxuICAgIHRoaXMuZGVwZW5kZW5jeUtleU1hcCA9IG5ldyBXZWFrTWFwKClcbiAgICB0aGlzLmRlcGVuZGVuY3lLZXlOZXh0SWQgPSAxXG4gIH1cblxuICAvKipcbiAgICogQnVpbGRzIGEgc3RhYmxlIGRlcGVuZGVuY3kga2V5IGZvciBvbmUgcHJpbWl0aXZlIG9yIG9iamVjdCByZWZlcmVuY2UuXG4gICAqIEBwYXJhbSB7Ym9vbGVhbiB8IG51bWJlciB8IG9iamVjdCB8IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWR9IHZhbHVlXG4gICAqIEByZXR1cm5zIHtzdHJpbmd9XG4gICAqL1xuICBkZXBlbmRlbmN5S2V5Rm9yKHZhbHVlKSB7XG4gICAgaWYgKHZhbHVlID09PSBudWxsKSByZXR1cm4gXCJudWxsXCJcbiAgICBpZiAodmFsdWUgPT09IHVuZGVmaW5lZCkgcmV0dXJuIFwidW5kZWZpbmVkXCJcblxuICAgIGNvbnN0IHZhbHVlVHlwZSA9IHR5cGVvZiB2YWx1ZVxuXG4gICAgaWYgKHZhbHVlVHlwZSAhPT0gXCJvYmplY3RcIiAmJiB2YWx1ZVR5cGUgIT09IFwiZnVuY3Rpb25cIikge1xuICAgICAgcmV0dXJuIGAke3ZhbHVlVHlwZX06JHtTdHJpbmcodmFsdWUpfWBcbiAgICB9XG5cbiAgICBpZiAoIXRoaXMuZGVwZW5kZW5jeUtleU1hcC5oYXModmFsdWUpKSB7XG4gICAgICB0aGlzLmRlcGVuZGVuY3lLZXlNYXAuc2V0KHZhbHVlLCB0aGlzLmRlcGVuZGVuY3lLZXlOZXh0SWQpXG4gICAgICB0aGlzLmRlcGVuZGVuY3lLZXlOZXh0SWQgKz0gMVxuICAgIH1cblxuICAgIHJldHVybiBgJHt2YWx1ZVR5cGV9OnJlZjoke3RoaXMuZGVwZW5kZW5jeUtleU1hcC5nZXQodmFsdWUpfWBcbiAgfVxuXG4gIC8qKlxuICAgKiBCdWlsZHMgb25lIGNhY2hlIGtleSBmb3IgdGhlIHdob2xlIGRlcGVuZGVuY3kgbGlzdC5cbiAgICogQHBhcmFtIHtib29sZWFuIHwgbnVtYmVyIHwgb2JqZWN0IHwgc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCB8IEFycmF5PGJvb2xlYW4gfCBudW1iZXIgfCBvYmplY3QgfCBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkPn0gbGlzdFxuICAgKiBAcmV0dXJucyB7c3RyaW5nfVxuICAgKi9cbiAgZGVwZW5kZW5jeUxpc3RLZXkobGlzdCkge1xuICAgIGlmICghQXJyYXkuaXNBcnJheShsaXN0KSkgcmV0dXJuIHRoaXMuZGVwZW5kZW5jeUtleUZvcihsaXN0KVxuXG4gICAgcmV0dXJuIGxpc3QubWFwKCh2YWx1ZSkgPT4gdGhpcy5kZXBlbmRlbmN5S2V5Rm9yKHZhbHVlKSkuam9pbihcInxcIilcbiAgfVxuXG4gIC8qKlxuICAgKiBMb2FkcyBvciByZWxvYWRzIGFiaWxpdGllcyBhbmQgaWdub3JlcyBzdGFsZSBhc3luYyBjb21wbGV0aW9ucy5cbiAgICogQHBhcmFtIHtzdHJpbmcgfCB1bmRlZmluZWR9IFtyZWxvYWRLZXldXG4gICAqL1xuICBsb2FkQWJpbGl0aWVzID0gYXN5bmMgKHJlbG9hZEtleSkgPT4ge1xuICAgIC8vIERyb3AgbGF0ZSBhYmlsaXR5IHJlbG9hZCBjb21wbGV0aW9ucyBhZnRlciBkZXBlbmRlbmN5IGNoYW5nZXMgb3IgdW5tb3VudHMuXG4gICAgY29uc3QgcmVxdWVzdElkID0gdGhpcy5hYmlsaXRpZXNSZXF1ZXN0SWQgKyAxXG5cbiAgICB0aGlzLmFiaWxpdGllc1JlcXVlc3RJZCA9IHJlcXVlc3RJZFxuICAgIGNvbnN0IGFiaWxpdGllcyA9IHRoaXMucC5hYmlsaXRpZXNDYWxsYmFjaygpXG5cbiAgICBpZiAocmVsb2FkS2V5ID09PSB1bmRlZmluZWQpIHtcbiAgICAgIGF3YWl0IHRoaXMuY2FuQ2FuLmxvYWRBYmlsaXRpZXMoYWJpbGl0aWVzKVxuICAgIH0gZWxzZSB7XG4gICAgICBhd2FpdCB0aGlzLmNhbkNhbi5yZWxvYWRBYmlsaXRpZXMoYWJpbGl0aWVzLCByZWxvYWRLZXkpXG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLmlzSG9va01vdW50ZWQgfHwgcmVxdWVzdElkICE9IHRoaXMuYWJpbGl0aWVzUmVxdWVzdElkKSByZXR1cm5cblxuICAgIHRoaXMuc2V0U3RhdGUoe2xhc3RVcGRhdGU6IG5ldyBEYXRlKCl9KVxuICB9XG5cbiAgLyoqIFJlbG9hZHMgYWJpbGl0aWVzIGFmdGVyIERldmlzZSBzaWduLWluIG9yIHNpZ24tb3V0IGV2ZW50cy4gKi9cbiAgb25EZXZpc2VDaGFuZ2UgPSAoKSA9PiB7XG4gICAgdGhpcy5kZXZpc2VSZWxvYWRLZXkgKz0gMVxuXG4gICAgaWYgKHRoaXMucC5kZWJ1Zykge1xuICAgICAgY29uc29sZS5sb2coYFt1c2VDYW5DYW5dIGRldmlzZS1jaGFuZ2UgcmVsb2FkS2V5PWRldmlzZToke3RoaXMuZGV2aXNlUmVsb2FkS2V5fWApXG4gICAgfVxuXG4gICAgdGhpcy5sb2FkQWJpbGl0aWVzKGBkZXZpc2U6JHt0aGlzLmRldmlzZVJlbG9hZEtleX1gKVxuICB9XG5cbiAgLyoqIFJlbG9hZHMgYWJpbGl0aWVzIGFmdGVyIHRoZSBnbG9iYWwgYWJpbGl0eSBjYWNoZSBpcyByZXNldC4gKi9cbiAgb25SZXNldEFiaWxpdGllcyA9ICgpID0+IHtcbiAgICBpZiAodGhpcy5wLmRlYnVnKSB7XG4gICAgICBjb25zb2xlLmxvZyhcIlt1c2VDYW5DYW5dIG9uUmVzZXRBYmlsaXRpZXMgLT4gbG9hZEFiaWxpdGllcygpXCIpXG4gICAgfVxuXG4gICAgdGhpcy5sb2FkQWJpbGl0aWVzKClcbiAgfVxuXG4gIC8qKiBVcGRhdGVzIGhvb2sgc3RhdGUgYWZ0ZXIgYWJpbGl0aWVzIGZpbmlzaCBsb2FkaW5nIGVsc2V3aGVyZS4gKi9cbiAgb25BYmlsaXRpZXNMb2FkZWQgPSAoKSA9PiB7XG4gICAgaWYgKHRoaXMucC5kZWJ1Zykge1xuICAgICAgY29uc29sZS5sb2coXCJbdXNlQ2FuQ2FuXSBvbkFiaWxpdGllc0xvYWRlZFwiKVxuICAgIH1cblxuICAgIGlmICghdGhpcy5pc0hvb2tNb3VudGVkKSByZXR1cm5cblxuICAgIHRoaXMuc2V0U3RhdGUoe2xhc3RVcGRhdGU6IG5ldyBEYXRlKCl9KVxuICB9XG5cbiAgLyoqIFdpcmVzIGFiaWxpdHkgbG9hZGluZywgZGVidWcgc3RhdGUsIGFuZCBldmVudCBzdWJzY3JpcHRpb25zIGZvciB0aGUgaG9vay4gKi9cbiAgc2V0dXAoKSB7XG4gICAgY29uc3Qge2RlYnVnLCBkZXBlbmRlbmNpZXN9ID0gdGhpcy5wXG4gICAgY29uc3QgZGVwZW5kZW5jeUxpc3QgPSBkZXBlbmRlbmNpZXMgPz8gW11cbiAgICBjb25zdCBkZXBlbmRlbmN5S2V5ID0gdXNlTWVtbygoKSA9PiB0aGlzLmRlcGVuZGVuY3lMaXN0S2V5KGRlcGVuZGVuY3lMaXN0KSwgZGVwZW5kZW5jeUxpc3QpXG4gICAgY29uc3QgaGFzQ3VzdG9tRGVwZW5kZW5jaWVzID0gZGVwZW5kZW5jaWVzICE9PSB1bmRlZmluZWRcblxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICB0aGlzLmlzSG9va01vdW50ZWQgPSB0cnVlXG5cbiAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgIHRoaXMuaXNIb29rTW91bnRlZCA9IGZhbHNlXG4gICAgICAgIHRoaXMuYWJpbGl0aWVzUmVxdWVzdElkICs9IDFcbiAgICAgIH1cbiAgICB9LCBbXSlcblxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICB0aGlzLmNhbkNhbi5zZXREZWJ1Zyh0aGlzLmRlYnVnVG9rZW4sIGRlYnVnKVxuXG4gICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICB0aGlzLmNhbkNhbi5zZXREZWJ1Zyh0aGlzLmRlYnVnVG9rZW4sIGZhbHNlKVxuICAgICAgfVxuICAgIH0sIFtkZWJ1Z10pXG5cbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgaWYgKGRlYnVnKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKGBbdXNlQ2FuQ2FuXSBlZmZlY3QgaGFzQ3VzdG9tRGVwZW5kZW5jaWVzPSR7U3RyaW5nKGhhc0N1c3RvbURlcGVuZGVuY2llcyl9OyBkZXBlbmRlbmN5S2V5PSR7ZGVwZW5kZW5jeUtleX1gKVxuICAgICAgfVxuXG4gICAgICBpZiAoaGFzQ3VzdG9tRGVwZW5kZW5jaWVzKSB7XG4gICAgICAgIGlmICh0aGlzLmxvYWRlZFdpdGhDdXN0b21EZXBlbmRlbmNpZXMpIHtcbiAgICAgICAgICB0aGlzLmxvYWRBYmlsaXRpZXMoZGVwZW5kZW5jeUtleSlcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLmxvYWRlZFdpdGhDdXN0b21EZXBlbmRlbmNpZXMgPSB0cnVlXG4gICAgICAgICAgdGhpcy5sb2FkQWJpbGl0aWVzKClcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5sb2FkZWRXaXRoQ3VzdG9tRGVwZW5kZW5jaWVzID0gZmFsc2VcbiAgICAgICAgdGhpcy5sb2FkQWJpbGl0aWVzKClcbiAgICAgIH1cbiAgICB9LCBbZGVwZW5kZW5jeUtleSwgaGFzQ3VzdG9tRGVwZW5kZW5jaWVzXSlcblxuICAgIHVzZUV2ZW50RW1pdHRlcihEZXZpc2UuZXZlbnRzKCksIFwib25EZXZpc2VTaWduSW5cIiwgdGhpcy5vbkRldmlzZUNoYW5nZSlcbiAgICB1c2VFdmVudEVtaXR0ZXIoRGV2aXNlLmV2ZW50cygpLCBcIm9uRGV2aXNlU2lnbk91dFwiLCB0aGlzLm9uRGV2aXNlQ2hhbmdlKVxuICAgIHVzZUV2ZW50RW1pdHRlcih0aGlzLmNhbkNhbi5ldmVudHMsIFwib25BYmlsaXRpZXNMb2FkZWRcIiwgdGhpcy5vbkFiaWxpdGllc0xvYWRlZClcbiAgICB1c2VFdmVudEVtaXR0ZXIodGhpcy5jYW5DYW4uZXZlbnRzLCBcIm9uUmVzZXRBYmlsaXRpZXNcIiwgdGhpcy5vblJlc2V0QWJpbGl0aWVzKVxuICB9XG59XG5cbi8qKlxuICogQHBhcmFtIHtmdW5jdGlvbigpIDogQXJyYXl9IGFiaWxpdGllc0NhbGxiYWNrXG4gKiBAcGFyYW0ge0FycmF5fSBbZGVwZW5kZW5jaWVzXVxuICogQHBhcmFtIHtvYmplY3R9IFtvcHRpb25zXVxuICogQHBhcmFtIHtib29sZWFufSBbb3B0aW9ucy5kZWJ1Z11cbiAqIEByZXR1cm5zIHtDYW5DYW59XG4gKi9cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHVzZUNhbkNhbihhYmlsaXRpZXNDYWxsYmFjaywgZGVwZW5kZW5jaWVzID0gdW5kZWZpbmVkLCBvcHRpb25zID0ge30pIHtcbiAgY29uc3Qge2RlYnVnID0gZmFsc2UsIC4uLnJlc3RBcmdzfSA9IG9wdGlvbnNcbiAgY29uc3QgcmVzdEFyZ3NLZXlzID0gT2JqZWN0LmtleXMocmVzdEFyZ3MpXG5cbiAgaWYgKHJlc3RBcmdzS2V5cy5sZW5ndGggPiAwKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBVbmtub3duIG9wdGlvbnMgZ2l2ZW4gdG8gdXNlQ2FuQ2FuOiAke3Jlc3RBcmdzS2V5cy5qb2luKFwiLCBcIil9YClcbiAgfVxuXG4gIGNvbnN0IHNoYXBlSG9vayA9IHVzZVNoYXBlSG9vayhVc2VDYW5DYW5DbGFzcywge2FiaWxpdGllc0NhbGxiYWNrLCBkZWJ1ZywgZGVwZW5kZW5jaWVzfSlcblxuICByZXR1cm4gc2hhcGVIb29rLmNhbkNhblxufVxuIl19
|
|
@@ -1,140 +1,186 @@
|
|
|
1
1
|
export default useCollection;
|
|
2
|
-
export type
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
_refreshModelDataFromResponse(response: object): void;
|
|
66
|
-
updateRaw(rawData: FormData | Record<string, any>, options?: ParseValidationErrorsOptions & {
|
|
67
|
-
simpleModelErrors?: boolean;
|
|
68
|
-
}): Promise<{
|
|
69
|
-
response: object;
|
|
70
|
-
model: /*elided*/ any;
|
|
71
|
-
}>;
|
|
72
|
-
isValid(): never;
|
|
73
|
-
isValidOnServer(): Promise<{
|
|
74
|
-
valid: boolean;
|
|
75
|
-
errors: Record<string, any>;
|
|
76
|
-
}>;
|
|
77
|
-
modelClass(): Record<string, any>;
|
|
78
|
-
preloadRelationship(relationshipName: string, model: /*elided*/ any | /*elided*/ any[] | null): void;
|
|
79
|
-
markForDestruction(): void;
|
|
80
|
-
_markedForDestruction: boolean;
|
|
81
|
-
markedForDestruction(): boolean;
|
|
82
|
-
uniqueKey(): number;
|
|
83
|
-
uniqueKeyValue: number;
|
|
84
|
-
_callMemberCommand(args: Record<string, any>, commandArgs: Record<string, any>): Promise<object>;
|
|
85
|
-
readAttribute(attributeName: string): any;
|
|
86
|
-
readAttributeUnderscore(attributeName: string): any;
|
|
87
|
-
isAttributeLoaded(attributeName: any): boolean;
|
|
88
|
-
_isPresent(value: any): boolean;
|
|
89
|
-
_loadBelongsToReflection(args: import("./collection.js").CollectionArgsType<any>, queryArgs?: import("./collection.js").QueryArgsType): Promise<any | null>;
|
|
90
|
-
_readBelongsToReflection({ reflectionName }: {
|
|
91
|
-
modelClass: any;
|
|
92
|
-
reflectionName: string;
|
|
93
|
-
}): any | null;
|
|
94
|
-
_loadHasManyReflection(args: import("./collection.js").CollectionArgsType<any>, queryArgs?: import("./collection.js").QueryArgsType): Promise<Array<any>>;
|
|
95
|
-
_loadHasOneReflection(args: import("./collection.js").CollectionArgsType<any>, queryArgs?: import("./collection.js").QueryArgsType): Promise<any>;
|
|
96
|
-
_readHasOneReflection({ reflectionName }: {
|
|
97
|
-
modelClass: any;
|
|
98
|
-
reflectionName: string;
|
|
99
|
-
}): any | null;
|
|
100
|
-
_readModelDataFromArgs(args?: {
|
|
101
|
-
data?: {
|
|
102
|
-
b?: Record<string, any>;
|
|
103
|
-
a?: Record<string, any>;
|
|
104
|
-
r?: any;
|
|
105
|
-
};
|
|
106
|
-
collection?: import("./collection.js").default<any>;
|
|
107
|
-
}): void;
|
|
108
|
-
collection: import("./collection.js").default<any>;
|
|
109
|
-
preloadedRelationships: any;
|
|
110
|
-
_readPreloadedRelationships(preloaded: {
|
|
111
|
-
getModel: (relationshipType: string, relationshipId: number | string) => /*elided*/ any;
|
|
112
|
-
}): void;
|
|
113
|
-
primaryKey(): number | string;
|
|
2
|
+
export type BaseModelClass = typeof import("./base-model.js").default;
|
|
3
|
+
export type BaseModelInstance = {
|
|
4
|
+
abilities: import("./base-model.js").ModelAbilityMap;
|
|
5
|
+
changes: import("./base-model.js").ModelDataMap;
|
|
6
|
+
collection: import("./collection.js").default<any>;
|
|
7
|
+
_identifierKey: string | number;
|
|
8
|
+
_markedForDestruction: boolean;
|
|
9
|
+
modelData: import("./base-model.js").ModelDataMap;
|
|
10
|
+
newRecord: boolean;
|
|
11
|
+
previousModelData: any;
|
|
12
|
+
preloadedRelationships: import("./base-model.js").PreloadedRelationshipMap;
|
|
13
|
+
relationshipsCache: import("./base-model.js").LoadedRelationshipMap;
|
|
14
|
+
relationships: import("./base-model.js").LoadedRelationshipMap;
|
|
15
|
+
uniqueKeyValue: number;
|
|
16
|
+
assignAttributes(newAttributes: ModelDataMap): void;
|
|
17
|
+
attributes(): ModelDataMap;
|
|
18
|
+
can(givenAbilityName: string): boolean;
|
|
19
|
+
clone(): /*elided*/ any;
|
|
20
|
+
cacheKey(): number | string;
|
|
21
|
+
localCacheKey(): string;
|
|
22
|
+
fullCacheKey(): string;
|
|
23
|
+
create(attributes?: ModelDataMap, options?: ParseValidationErrorsOptions): Promise<{
|
|
24
|
+
model: /*elided*/ any;
|
|
25
|
+
response: ModelCommandResponse;
|
|
26
|
+
}>;
|
|
27
|
+
createRaw(rawData: RawDataInput, options?: ParseValidationErrorsOptions): Promise<{
|
|
28
|
+
model: /*elided*/ any;
|
|
29
|
+
response: ModelCommandResponse;
|
|
30
|
+
}>;
|
|
31
|
+
destroy(): Promise<{
|
|
32
|
+
model: /*elided*/ any;
|
|
33
|
+
response: ModelCommandResponse;
|
|
34
|
+
}>;
|
|
35
|
+
ensureAbilities(listOfAbilities: string[]): Promise<void>;
|
|
36
|
+
getAttributes(): ModelDataMap;
|
|
37
|
+
handleResponseError(response: ModelCommandResponse): never;
|
|
38
|
+
identifierKey(): number | string;
|
|
39
|
+
isAssociationLoaded(associationName: string): boolean;
|
|
40
|
+
isAssociationLoadedUnderscore(associationNameUnderscore: string): boolean;
|
|
41
|
+
isAssociationPresent(associationName: string): boolean;
|
|
42
|
+
ensureAssociationLoaded(associationName: string): Promise<LoadedRelationshipValue>;
|
|
43
|
+
ensureAssociationLoadedUnderscore(associationNameUnderscore: string): Promise<LoadedRelationshipValue>;
|
|
44
|
+
isAttributeChanged(attributeName: string): boolean;
|
|
45
|
+
isChanged(): boolean;
|
|
46
|
+
isNewRecord(): boolean;
|
|
47
|
+
isPersisted(): boolean;
|
|
48
|
+
savedChangeToAttribute(attributeName: string): boolean;
|
|
49
|
+
setNewModel(model: /*elided*/ any): void;
|
|
50
|
+
setNewModelData(model: /*elided*/ any): void;
|
|
51
|
+
_isDateChanged(oldValue: ModelValue | null | undefined, newValue: ModelValue | null | undefined): boolean | void;
|
|
52
|
+
_isIntegerChanged(oldValue: ModelValue | null | undefined, newValue: ModelValue | null | undefined): boolean | void;
|
|
53
|
+
_isStringChanged(oldValue: ModelValue | null | undefined, newValue: ModelValue | null | undefined): boolean | void;
|
|
54
|
+
modelClassData(): ModelClassDataType;
|
|
55
|
+
reload(): Promise<void>;
|
|
56
|
+
save(): Promise<{
|
|
57
|
+
model: /*elided*/ any;
|
|
58
|
+
response?: object;
|
|
59
|
+
}>;
|
|
60
|
+
saveRaw(rawData: RawDataInput, options?: ParseValidationErrorsOptions & {
|
|
61
|
+
simpleModelErrors?: boolean;
|
|
62
|
+
}): Promise<{
|
|
63
|
+
model: /*elided*/ any;
|
|
64
|
+
response: ModelCommandResponse;
|
|
114
65
|
}>;
|
|
66
|
+
update(newAttributes?: ModelDataMap, options?: ParseValidationErrorsOptions): Promise<{
|
|
67
|
+
model: /*elided*/ any;
|
|
68
|
+
response?: object;
|
|
69
|
+
}>;
|
|
70
|
+
_refreshModelFromResponse(response: ModelCommandResponse): void;
|
|
71
|
+
_refreshModelDataFromResponse(response: ModelCommandResponse): void;
|
|
72
|
+
updateRaw(rawData: RawDataInput, options?: ParseValidationErrorsOptions & {
|
|
73
|
+
simpleModelErrors?: boolean;
|
|
74
|
+
}): Promise<{
|
|
75
|
+
response: ModelCommandResponse;
|
|
76
|
+
model: /*elided*/ any;
|
|
77
|
+
}>;
|
|
78
|
+
isValid(): never;
|
|
79
|
+
isValidOnServer(): Promise<{
|
|
80
|
+
valid: boolean;
|
|
81
|
+
errors: ValidationResponseErrors;
|
|
82
|
+
}>;
|
|
83
|
+
modelClass(): BaseModelClassType;
|
|
84
|
+
preloadRelationship(relationshipName: string, model: /*elided*/ any | /*elided*/ any[] | null): void;
|
|
85
|
+
markForDestruction(): void;
|
|
86
|
+
markedForDestruction(): boolean;
|
|
87
|
+
uniqueKey(): number;
|
|
88
|
+
_callMemberCommand(args: ModelCommandDescriptor, commandArgs: ModelCommandOptions): import("./command-execution.js").default;
|
|
89
|
+
readAttribute(attributeName: string): ModelValue | null | undefined;
|
|
90
|
+
readAttributeUnderscore(attributeName: string): ModelValue | null | undefined;
|
|
91
|
+
isAttributeLoaded(attributeName: string): boolean;
|
|
92
|
+
_isPresent(value: ModelValue | null | undefined): boolean;
|
|
93
|
+
_loadBelongsToReflection(args: RelationshipLoadArgs, queryArgs?: import("./collection.js").QueryArgsType): Promise</*elided*/ any | null>;
|
|
94
|
+
_readBelongsToReflection({ reflectionName }: RelationshipLoadArgs): /*elided*/ any | null;
|
|
95
|
+
_loadHasManyReflection(args: RelationshipLoadArgs, queryArgs?: import("./collection.js").QueryArgsType): Promise</*elided*/ any[]>;
|
|
96
|
+
_loadHasOneReflection(args: RelationshipLoadArgs, queryArgs?: import("./collection.js").QueryArgsType): Promise</*elided*/ any | null>;
|
|
97
|
+
_readHasOneReflection({ reflectionName }: RelationshipLoadArgs): /*elided*/ any | null;
|
|
98
|
+
_readModelDataFromArgs(args?: BaseModelArgsObject): void;
|
|
99
|
+
_readPreloadedRelationships(preloaded: {
|
|
100
|
+
getModel: (relationshipType: string, relationshipId: number | string) => /*elided*/ any;
|
|
101
|
+
}): void;
|
|
102
|
+
primaryKey(): number | string;
|
|
103
|
+
};
|
|
104
|
+
export type BaseModelWithId = BaseModelInstance & {
|
|
105
|
+
id: () => number | string;
|
|
106
|
+
};
|
|
107
|
+
export type ModelCollection = import("./collection.js").default<any>;
|
|
108
|
+
export type CollectionResult = import("./result.js").default;
|
|
109
|
+
export type UseCollectionSearchParams = import("./collection.js").CollectionSearchParams;
|
|
110
|
+
export type UseCollectionRansackParams = import("./collection.js").CollectionRansackParams;
|
|
111
|
+
export type UseCollectionDefaultParams = import("./collection.js").QueryParamValueMap;
|
|
112
|
+
export type UseCollectionQueryParamValue = import("./collection.js").QueryParamValue | undefined;
|
|
113
|
+
export type UseCollectionQueryParams = Record<string, UseCollectionQueryParamValue | string[]>;
|
|
114
|
+
export type UseCollectionQueryMethod = (args: {
|
|
115
|
+
query: ModelCollection;
|
|
116
|
+
}) => Promise<CollectionResult> | CollectionResult;
|
|
117
|
+
export type OnModelsLoadedCallback = (args: {
|
|
118
|
+
models: BaseModelInstance[];
|
|
119
|
+
qParams: UseCollectionDefaultParams;
|
|
120
|
+
query: ModelCollection;
|
|
121
|
+
result: CollectionResult;
|
|
122
|
+
}) => void;
|
|
123
|
+
export type NoRecordsStateArgs = {
|
|
124
|
+
models?: BaseModelInstance[];
|
|
125
|
+
overallCount?: number;
|
|
126
|
+
};
|
|
127
|
+
export type LoadModelsArgs = {
|
|
128
|
+
qParams?: UseCollectionDefaultParams;
|
|
129
|
+
searchParams?: string[];
|
|
130
|
+
};
|
|
131
|
+
export type UseCollectionReturnValue = UseCollectionResult & Record<string, BaseModelInstance[] | string | number | CollectionResult | ModelCollection | string[] | false | import("react").ReactNode>;
|
|
132
|
+
export type UseCollectionHookProps = {
|
|
133
|
+
abilities?: Record<string, string[]>;
|
|
134
|
+
cacheKeys?: UseCollectionQueryParamValue[];
|
|
135
|
+
collection?: ModelCollection;
|
|
136
|
+
defaultParams?: UseCollectionDefaultParams;
|
|
137
|
+
groupBy?: string[];
|
|
138
|
+
ifCondition?: boolean | (() => boolean);
|
|
139
|
+
limit?: number;
|
|
140
|
+
modelClass: BaseModelClass;
|
|
141
|
+
noRecordsAvailableContent?: () => import("react").ReactNode;
|
|
142
|
+
noRecordsFoundContent?: () => import("react").ReactNode;
|
|
143
|
+
onModelsLoaded?: OnModelsLoadedCallback;
|
|
144
|
+
pagination?: boolean;
|
|
145
|
+
preloads?: string[];
|
|
146
|
+
queryMethod?: UseCollectionQueryMethod;
|
|
147
|
+
queryName?: string;
|
|
148
|
+
ransack?: UseCollectionRansackParams;
|
|
149
|
+
select?: Record<string, string[]>;
|
|
150
|
+
selectColumns?: Record<string, string[]>;
|
|
151
|
+
};
|
|
152
|
+
export type UseCollectionResult = {
|
|
153
|
+
models: BaseModelInstance[] | undefined;
|
|
115
154
|
modelIdsCacheString: string;
|
|
116
|
-
overallCount: number;
|
|
117
|
-
|
|
155
|
+
overallCount: number | undefined;
|
|
156
|
+
qParams: UseCollectionDefaultParams;
|
|
157
|
+
query: ModelCollection | undefined;
|
|
118
158
|
queryName: string;
|
|
119
159
|
queryPerKey: string;
|
|
120
160
|
queryQName: string;
|
|
121
161
|
querySName: string;
|
|
122
162
|
queryPageName: string;
|
|
123
|
-
|
|
124
|
-
|
|
163
|
+
readyToLoad: boolean;
|
|
164
|
+
result: CollectionResult | undefined;
|
|
165
|
+
searchParams: string[] | undefined;
|
|
125
166
|
showNoRecordsAvailableContent: false | import("react").ReactNode;
|
|
126
167
|
showNoRecordsFoundContent: false | import("react").ReactNode;
|
|
127
168
|
};
|
|
128
169
|
export type UseCollectionState = {
|
|
129
|
-
models:
|
|
170
|
+
models: BaseModelInstance[] | undefined;
|
|
130
171
|
overallCount: number | undefined;
|
|
131
|
-
qParams:
|
|
132
|
-
query:
|
|
172
|
+
qParams: UseCollectionDefaultParams;
|
|
173
|
+
query: ModelCollection | undefined;
|
|
133
174
|
readyToLoad: boolean;
|
|
134
|
-
result:
|
|
175
|
+
result: CollectionResult | undefined;
|
|
135
176
|
searchParams: string[] | undefined;
|
|
136
177
|
showNoRecordsAvailableContent: false | import("react").ReactNode;
|
|
137
178
|
showNoRecordsFoundContent: false | import("react").ReactNode;
|
|
138
179
|
};
|
|
139
|
-
|
|
180
|
+
/**
|
|
181
|
+
* @param {UseCollectionHookProps} props
|
|
182
|
+
* @param {UseCollectionQueryParamValue[]} [cacheKeys]
|
|
183
|
+
* @returns {UseCollectionReturnValue}
|
|
184
|
+
*/
|
|
185
|
+
declare function useCollection(props: UseCollectionHookProps, cacheKeys?: UseCollectionQueryParamValue[]): UseCollectionReturnValue;
|
|
140
186
|
//# sourceMappingURL=use-collection.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-collection.d.ts","sourceRoot":"/src/","sources":["use-collection.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"use-collection.d.ts","sourceRoot":"/src/","sources":["use-collection.js"],"names":[],"mappings":";6BAWc,cAAc,iBAAiB,EAAE,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gBA2gB2xY,CAAC;;;yBAA6O,CAAC;;;;;;;gBAAoc,CAAC;;;;;yBAAm7E,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAzgB36e,iBAAiB,GAAG;IAAC,EAAE,EAAE,MAAM,MAAM,GAAG,MAAM,CAAA;CAAC;;+BAE/C,OAAO,aAAa,EAAE,OAAO;wCAC7B,OAAO,iBAAiB,EAAE,sBAAsB;yCAChD,OAAO,iBAAiB,EAAE,uBAAuB;yCACjD,OAAO,iBAAiB,EAAE,kBAAkB;2CAC5C,OAAO,iBAAiB,EAAE,eAAe,GAAG,SAAS;uCACrD,MAAM,CAAC,MAAM,EAAE,4BAA4B,GAAG,MAAM,EAAE,CAAC;uCACvD,CAAC,IAAI,EAAE;IAAC,KAAK,EAAE,eAAe,CAAA;CAAC,KAAK,OAAO,CAAC,gBAAgB,CAAC,GAAG,gBAAgB;qCAEjF,CAAC,IAAI,EAAE;IACf,MAAM,EAAE,iBAAiB,EAAE,CAAC;IAC5B,OAAO,EAAE,0BAA0B,CAAC;IACpC,KAAK,EAAE,eAAe,CAAC;IACvB,MAAM,EAAE,gBAAgB,CAAA;CACzB,KAAK,IAAI;iCAEC;IAAC,MAAM,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAAC;6BACrD;IAAC,OAAO,CAAC,EAAE,0BAA0B,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;CAAC;uCAEhE,mBAAmB,GAAG,MAAM,CACxC,MAAU,EACN,iBAAiB,EAAE,GAAG,MAAM,GAAG,MAAM,GAAG,gBAAgB,GAAG,eAAe,GAAG,MAAM,EAAE,GAAG,KAAK,GAAG,OAAO,OAAO,EAAE,SAAS,CAC1H;;gBAIU,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;gBACxB,4BAA4B,EAAE;iBAC9B,eAAe;oBACf,0BAA0B;cAC1B,MAAM,EAAE;kBACR,OAAO,GAAG,CAAC,MAAM,OAAO,CAAC;YACzB,MAAM;gBACN,cAAc;gCACd,MAAM,OAAO,OAAO,EAAE,SAAS;4BAC/B,MAAM,OAAO,OAAO,EAAE,SAAS;qBAC/B,sBAAsB;iBACtB,OAAO;eACP,MAAM,EAAE;kBACR,wBAAwB;gBACxB,MAAM;cACN,0BAA0B;aAC1B,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;oBACxB,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;;;YAIxB,iBAAiB,EAAE,GAAG,SAAS;yBAC/B,MAAM;kBACN,MAAM,GAAG,SAAS;aAClB,0BAA0B;WAC1B,eAAe,GAAG,SAAS;eAC1B,MAAM;iBACN,MAAM;gBACN,MAAM;gBACN,MAAM;mBACN,MAAM;iBACP,OAAO;YACP,gBAAgB,GAAG,SAAS;kBAC5B,MAAM,EAAE,GAAG,SAAS;mCACnB,KAAK,GAAG,OAAO,OAAO,EAAE,SAAS;+BACjC,KAAK,GAAG,OAAO,OAAO,EAAE,SAAS;;;YA4BlC,iBAAiB,EAAE,GAAG,SAAS;kBAC/B,MAAM,GAAG,SAAS;aAClB,0BAA0B;WAC1B,eAAe,GAAG,SAAS;iBAC3B,OAAO;YACP,gBAAgB,GAAG,SAAS;kBAC5B,MAAM,EAAE,GAAG,SAAS;mCACpB,KAAK,GAAG,OAAO,OAAO,EAAE,SAAS;+BACjC,KAAK,GAAG,OAAO,OAAO,EAAE,SAAS;;AAmW/C;;;;GAIG;AACH,sCAJW,sBAAsB,cACtB,4BAA4B,EAAE,GAC5B,wBAAwB,CA8DpC"}
|