@kaspernj/api-maker 1.0.2054 → 1.0.2056
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.js +65 -213
- package/build/attribute-not-loaded-error.js +3 -26
- package/build/base-component.js +4 -27
- package/build/base-error.js +21 -46
- package/build/base-model/attribute.js +15 -22
- package/build/base-model/column.js +5 -9
- package/build/base-model/reflection.js +12 -52
- package/build/base-model/scope.js +9 -46
- package/build/base-model.js +584 -837
- package/build/bootstrap/attribute-row.js +88 -173
- package/build/bootstrap/attribute-rows.js +22 -51
- package/build/bootstrap/card.js +77 -160
- package/build/bootstrap/checkbox.js +54 -103
- package/build/bootstrap/checkboxes.js +117 -203
- package/build/bootstrap/index.js +1 -1
- package/build/bootstrap/input.js +81 -132
- package/build/bootstrap/invalid-feedback.js +19 -47
- package/build/bootstrap/paginate.js +100 -165
- package/build/bootstrap/radio-buttons.js +44 -81
- package/build/bootstrap/select.js +44 -91
- package/build/bootstrap/sort-link.js +69 -152
- package/build/cable-connection-pool.js +44 -66
- package/build/cable-subscription-pool.js +105 -162
- package/build/cable-subscription.js +10 -17
- package/build/cache-key-generator.js +28 -37
- package/build/can-can.js +81 -202
- package/build/channels-consumer.js +6 -11
- package/build/collection-loader.js +36 -54
- package/build/collection.d.ts.map +1 -1
- package/build/collection.js +160 -308
- package/build/command-submit-data.d.ts +1 -1
- package/build/command-submit-data.d.ts.map +1 -1
- package/build/command-submit-data.js +30 -39
- package/build/commands-pool.js +140 -216
- package/build/compose.js +4 -12
- package/build/config.js +21 -68
- package/build/custom-error.js +5 -30
- package/build/data-set-to-attributes.js +6 -42
- package/build/deserializer.js +27 -80
- package/build/destroy-error.js +5 -30
- package/build/devise.js +84 -188
- package/build/draggable-sort/controller.js +88 -111
- package/build/draggable-sort/index.js +68 -145
- package/build/draggable-sort/item.js +132 -198
- package/build/error-logger.js +79 -164
- package/build/error-messages.js +5 -8
- package/build/event-connection.js +24 -62
- package/build/event-emitter-listener.js +7 -24
- package/build/event-model-class.js +20 -47
- package/build/events.js +4 -9
- package/build/form.js +66 -154
- package/build/history-expo.js +13 -25
- package/build/history-react-native.js +15 -27
- package/build/history.js +3 -5
- package/build/index.js +3 -6
- package/build/inputs/attachment.js +72 -123
- package/build/inputs/auto-submit.js +16 -55
- package/build/inputs/checkbox.js +78 -167
- package/build/inputs/checkboxes.js +76 -159
- package/build/inputs/id-for-component.js +5 -41
- package/build/inputs/input-wrapper.js +8 -27
- package/build/inputs/input.js +159 -245
- package/build/inputs/money.js +124 -186
- package/build/inputs/name-for-component.js +5 -41
- package/build/inputs/select.js +69 -123
- package/build/instance-of-class-name.js +16 -21
- package/build/is-expo.js +9 -11
- package/build/key-value-store.js +52 -128
- package/build/link.js +52 -115
- package/build/logger.js +20 -26
- package/build/merge-styles.js +6 -10
- package/build/modal.js +15 -62
- package/build/model-class-require.js +9 -44
- package/build/model-events.js +25 -34
- package/build/model-name.js +16 -57
- package/build/model-prop-type.js +52 -63
- package/build/model-recipes-loader.js +17 -25
- package/build/model-recipes-model-loader.d.ts +1 -1
- package/build/model-recipes-model-loader.js +130 -208
- package/build/models-response-reader.js +25 -66
- package/build/models.js +6 -11
- package/build/money-formatter.d.ts +2 -2
- package/build/money-formatter.d.ts.map +1 -1
- package/build/money-formatter.js +46 -56
- package/build/not-loaded-error.js +3 -26
- package/build/params.js +32 -42
- package/build/preloaded.js +19 -59
- package/build/resize-observer.js +6 -12
- package/build/rest-props-validator.js +5 -7
- package/build/result.js +11 -15
- package/build/router/route.js +179 -312
- package/build/router/switch.js +56 -130
- package/build/router.js +34 -94
- package/build/routes-native.js +64 -148
- package/build/routes.js +26 -80
- package/build/run-last.js +20 -25
- package/build/serializer.js +29 -34
- package/build/services.js +10 -19
- package/build/session-status-updater.js +85 -184
- package/build/source-maps-loader.d.ts +37 -0
- package/build/source-maps-loader.d.ts.map +1 -0
- package/build/source-maps-loader.js +103 -225
- package/build/super-admin/config-reader.d.ts +2 -2
- package/build/super-admin/config-reader.js +42 -83
- package/build/super-admin/edit-page/edit-attribute-checkbox.js +53 -115
- package/build/super-admin/edit-page/edit-attribute-content.js +47 -77
- package/build/super-admin/edit-page/edit-attribute-input.js +57 -119
- package/build/super-admin/edit-page/edit-attribute.js +40 -104
- package/build/super-admin/edit-page.js +88 -201
- package/build/super-admin/has-edit-config.js +7 -13
- package/build/super-admin/index-page.js +17 -44
- package/build/super-admin/index.js +87 -210
- package/build/super-admin/layout/header/index.js +91 -152
- package/build/super-admin/layout/index.js +70 -153
- package/build/super-admin/layout/menu/index.js +85 -161
- package/build/super-admin/layout/menu/menu-content.js +25 -85
- package/build/super-admin/layout/menu/menu-item.js +52 -102
- package/build/super-admin/layout/no-access.js +19 -45
- package/build/super-admin/model-class-table.js +45 -129
- package/build/super-admin/models.js +6 -42
- package/build/super-admin/show-nav.js +27 -89
- package/build/super-admin/show-page/belongs-to-attribute-row.js +18 -76
- package/build/super-admin/show-page/index.js +101 -187
- package/build/super-admin/show-reflection-actions.js +39 -100
- package/build/super-admin/show-reflection-link.js +27 -99
- package/build/super-admin/show-reflection-page.js +34 -97
- package/build/table/column-content.js +77 -121
- package/build/table/column-identifier.js +7 -11
- package/build/table/column-visible.js +2 -5
- package/build/table/components/column.js +13 -60
- package/build/table/components/flat-list.js +13 -60
- package/build/table/components/header.js +15 -62
- package/build/table/components/row.js +16 -63
- package/build/table/filters/attribute-element.js +34 -62
- package/build/table/filters/filter-form.js +280 -483
- package/build/table/filters/filter.js +45 -73
- package/build/table/filters/index.js +95 -139
- package/build/table/filters/load-search-modal.js +64 -212
- package/build/table/filters/reflection-element.js +27 -55
- package/build/table/filters/save-search-modal.js +44 -140
- package/build/table/filters/scope-element.js +28 -56
- package/build/table/header-column-content.js +33 -71
- package/build/table/header-column.js +89 -218
- package/build/table/header-select.js +45 -77
- package/build/table/model-callback-args.js +5 -41
- package/build/table/model-column.js +59 -144
- package/build/table/model-row.js +75 -187
- package/build/table/select-calculator.js +27 -86
- package/build/table/settings/column-row.js +66 -186
- package/build/table/settings/download-action.js +38 -74
- package/build/table/settings/index.js +38 -102
- package/build/table/table-settings.js +185 -323
- package/build/table/table.js +583 -781
- package/build/table/use-sorting.js +16 -35
- package/build/table/widths.js +32 -38
- package/build/table/worker-plugins-check-all-checkbox.js +77 -225
- package/build/table/worker-plugins-checkbox.js +74 -185
- package/build/translated-attributes.js +6 -11
- package/build/translated-collections.js +11 -20
- package/build/updated-attribute.js +47 -120
- package/build/url-encode.js +6 -12
- package/build/use-breakpoint.js +43 -95
- package/build/use-can-can.js +30 -92
- package/build/use-collection.js +119 -229
- package/build/use-created-event.js +27 -44
- package/build/use-current-user-context.js +57 -151
- package/build/use-current-user.js +14 -32
- package/build/use-destroyed-event.js +22 -43
- package/build/use-event-emitter.d.ts +1 -2
- package/build/use-event-emitter.d.ts.map +1 -1
- package/build/use-event-emitter.js +10 -16
- package/build/use-event-listener.js +13 -22
- package/build/use-input.js +49 -69
- package/build/use-model-event.js +22 -43
- package/build/use-model.js +96 -199
- package/build/use-resize-observer.js +11 -21
- package/build/use-router.js +65 -107
- package/build/use-screen-layout.js +17 -19
- package/build/use-styles.js +24 -75
- package/build/use-updated-event.js +22 -44
- package/build/use-validation-errors.js +12 -18
- package/build/utils/button.js +86 -136
- package/build/utils/card.js +31 -106
- package/build/utils/checkbox.js +51 -112
- package/build/utils/checkboxes.js +109 -182
- package/build/utils/default-style.js +29 -103
- package/build/utils/header.js +8 -35
- package/build/utils/icon.js +36 -117
- package/build/utils/invalid-feedback.js +16 -43
- package/build/utils/modal.js +25 -108
- package/build/utils/text.js +10 -37
- package/build/validation-error.js +31 -89
- package/build/validation-errors.js +61 -111
- package/build/with-api-maker.js +15 -67
- package/build/with-collection.js +14 -64
- package/build/with-current-user.js +7 -23
- package/build/with-model.js +11 -27
- package/build/with-router.js +8 -35
- package/package.json +4 -3
- package/build/api.js.map +0 -1
- package/build/attribute-not-loaded-error.js.map +0 -1
- package/build/base-component.js.map +0 -1
- package/build/base-error.js.map +0 -1
- package/build/base-model/attribute.js.map +0 -1
- package/build/base-model/column.js.map +0 -1
- package/build/base-model/reflection.js.map +0 -1
- package/build/base-model/scope.js.map +0 -1
- package/build/base-model.js.map +0 -1
- package/build/bootstrap/attribute-row.js.map +0 -1
- package/build/bootstrap/attribute-rows.js.map +0 -1
- package/build/bootstrap/card.js.map +0 -1
- package/build/bootstrap/checkbox.js.map +0 -1
- package/build/bootstrap/checkboxes.js.map +0 -1
- package/build/bootstrap/index.js.map +0 -1
- package/build/bootstrap/input.js.map +0 -1
- package/build/bootstrap/invalid-feedback.js.map +0 -1
- package/build/bootstrap/paginate.js.map +0 -1
- package/build/bootstrap/radio-buttons.js.map +0 -1
- package/build/bootstrap/select.js.map +0 -1
- package/build/bootstrap/sort-link.js.map +0 -1
- package/build/cable-connection-pool.js.map +0 -1
- package/build/cable-subscription-pool.js.map +0 -1
- package/build/cable-subscription.js.map +0 -1
- package/build/cache-key-generator.js.map +0 -1
- package/build/can-can.js.map +0 -1
- package/build/channels-consumer.js.map +0 -1
- package/build/collection-loader.js.map +0 -1
- package/build/collection.js.map +0 -1
- package/build/command-submit-data.js.map +0 -1
- package/build/commands-pool.js.map +0 -1
- package/build/compose.js.map +0 -1
- package/build/config.js.map +0 -1
- package/build/custom-error.js.map +0 -1
- package/build/data-set-to-attributes.js.map +0 -1
- package/build/deserializer.js.map +0 -1
- package/build/destroy-error.js.map +0 -1
- package/build/devise.js.map +0 -1
- package/build/draggable-sort/controller.js.map +0 -1
- package/build/draggable-sort/index.js.map +0 -1
- package/build/draggable-sort/item.js.map +0 -1
- package/build/error-logger.js.map +0 -1
- package/build/error-messages.js.map +0 -1
- package/build/event-connection.js.map +0 -1
- package/build/event-emitter-listener.js.map +0 -1
- package/build/event-model-class.js.map +0 -1
- package/build/events.js.map +0 -1
- package/build/form.js.map +0 -1
- package/build/history-expo.js.map +0 -1
- package/build/history-react-native.js.map +0 -1
- package/build/history.js.map +0 -1
- package/build/index.js.map +0 -1
- package/build/inputs/attachment.js.map +0 -1
- package/build/inputs/auto-submit.js.map +0 -1
- package/build/inputs/checkbox.js.map +0 -1
- package/build/inputs/checkboxes.js.map +0 -1
- package/build/inputs/id-for-component.js.map +0 -1
- package/build/inputs/input-wrapper.js.map +0 -1
- package/build/inputs/input.js.map +0 -1
- package/build/inputs/money.js.map +0 -1
- package/build/inputs/name-for-component.js.map +0 -1
- package/build/inputs/select.js.map +0 -1
- package/build/instance-of-class-name.js.map +0 -1
- package/build/is-expo.js.map +0 -1
- package/build/key-value-store.js.map +0 -1
- package/build/link.js.map +0 -1
- package/build/logger.js.map +0 -1
- package/build/merge-styles.js.map +0 -1
- package/build/modal.js.map +0 -1
- package/build/model-class-require.js.map +0 -1
- package/build/model-events.js.map +0 -1
- package/build/model-name.js.map +0 -1
- package/build/model-prop-type.js.map +0 -1
- package/build/model-recipes-loader.js.map +0 -1
- package/build/model-recipes-model-loader.js.map +0 -1
- package/build/models-response-reader.js.map +0 -1
- package/build/models.js.map +0 -1
- package/build/money-formatter.js.map +0 -1
- package/build/not-loaded-error.js.map +0 -1
- package/build/params.js.map +0 -1
- package/build/preloaded.js.map +0 -1
- package/build/resize-observer.js.map +0 -1
- package/build/rest-props-validator.js.map +0 -1
- package/build/result.js.map +0 -1
- package/build/router/route.js.map +0 -1
- package/build/router/switch.js.map +0 -1
- package/build/router.js.map +0 -1
- package/build/routes-native.js.map +0 -1
- package/build/routes.js.map +0 -1
- package/build/run-last.js.map +0 -1
- package/build/serializer.js.map +0 -1
- package/build/services.js.map +0 -1
- package/build/session-status-updater.js.map +0 -1
- package/build/source-maps-loader.js.map +0 -1
- package/build/super-admin/config-reader.js.map +0 -1
- package/build/super-admin/edit-page/edit-attribute-checkbox.js.map +0 -1
- package/build/super-admin/edit-page/edit-attribute-content.js.map +0 -1
- package/build/super-admin/edit-page/edit-attribute-input.js.map +0 -1
- package/build/super-admin/edit-page/edit-attribute.js.map +0 -1
- package/build/super-admin/edit-page.js.map +0 -1
- package/build/super-admin/has-edit-config.js.map +0 -1
- package/build/super-admin/index-page.js.map +0 -1
- package/build/super-admin/index.js.map +0 -1
- package/build/super-admin/layout/header/index.js.map +0 -1
- package/build/super-admin/layout/index.js.map +0 -1
- package/build/super-admin/layout/menu/index.js.map +0 -1
- package/build/super-admin/layout/menu/menu-content.js.map +0 -1
- package/build/super-admin/layout/menu/menu-item.js.map +0 -1
- package/build/super-admin/layout/no-access.js.map +0 -1
- package/build/super-admin/model-class-table.js.map +0 -1
- package/build/super-admin/models.js.map +0 -1
- package/build/super-admin/show-nav.js.map +0 -1
- package/build/super-admin/show-page/belongs-to-attribute-row.js.map +0 -1
- package/build/super-admin/show-page/index.js.map +0 -1
- package/build/super-admin/show-reflection-actions.js.map +0 -1
- package/build/super-admin/show-reflection-link.js.map +0 -1
- package/build/super-admin/show-reflection-page.js.map +0 -1
- package/build/table/column-content.js.map +0 -1
- package/build/table/column-identifier.js.map +0 -1
- package/build/table/column-visible.js.map +0 -1
- package/build/table/components/column.js.map +0 -1
- package/build/table/components/flat-list.js.map +0 -1
- package/build/table/components/header.js.map +0 -1
- package/build/table/components/row.js.map +0 -1
- package/build/table/filters/attribute-element.js.map +0 -1
- package/build/table/filters/filter-form.js.map +0 -1
- package/build/table/filters/filter.js.map +0 -1
- package/build/table/filters/index.js.map +0 -1
- package/build/table/filters/load-search-modal.js.map +0 -1
- package/build/table/filters/reflection-element.js.map +0 -1
- package/build/table/filters/save-search-modal.js.map +0 -1
- package/build/table/filters/scope-element.js.map +0 -1
- package/build/table/header-column-content.js.map +0 -1
- package/build/table/header-column.js.map +0 -1
- package/build/table/header-select.js.map +0 -1
- package/build/table/model-callback-args.js.map +0 -1
- package/build/table/model-column.js.map +0 -1
- package/build/table/model-row.js.map +0 -1
- package/build/table/select-calculator.js.map +0 -1
- package/build/table/settings/column-row.js.map +0 -1
- package/build/table/settings/download-action.js.map +0 -1
- package/build/table/settings/index.js.map +0 -1
- package/build/table/table-settings.js.map +0 -1
- package/build/table/table.js.map +0 -1
- package/build/table/use-sorting.js.map +0 -1
- package/build/table/widths.js.map +0 -1
- package/build/table/worker-plugins-check-all-checkbox.js.map +0 -1
- package/build/table/worker-plugins-checkbox.js.map +0 -1
- package/build/translated-attributes.js.map +0 -1
- package/build/translated-collections.js.map +0 -1
- package/build/updated-attribute.js.map +0 -1
- package/build/url-encode.js.map +0 -1
- package/build/use-breakpoint.js.map +0 -1
- package/build/use-can-can.js.map +0 -1
- package/build/use-collection.js.map +0 -1
- package/build/use-created-event.js.map +0 -1
- package/build/use-current-user-context.js.map +0 -1
- package/build/use-current-user.js.map +0 -1
- package/build/use-destroyed-event.js.map +0 -1
- package/build/use-event-emitter.js.map +0 -1
- package/build/use-event-listener.js.map +0 -1
- package/build/use-input.js.map +0 -1
- package/build/use-model-event.js.map +0 -1
- package/build/use-model.js.map +0 -1
- package/build/use-resize-observer.js.map +0 -1
- package/build/use-router.js.map +0 -1
- package/build/use-screen-layout.js.map +0 -1
- package/build/use-styles.js.map +0 -1
- package/build/use-updated-event.js.map +0 -1
- package/build/use-validation-errors.js.map +0 -1
- package/build/utils/button.js.map +0 -1
- package/build/utils/card.js.map +0 -1
- package/build/utils/checkbox.js.map +0 -1
- package/build/utils/checkboxes.js.map +0 -1
- package/build/utils/default-style.js.map +0 -1
- package/build/utils/header.js.map +0 -1
- package/build/utils/icon.js.map +0 -1
- package/build/utils/invalid-feedback.js.map +0 -1
- package/build/utils/modal.js.map +0 -1
- package/build/utils/text.js.map +0 -1
- package/build/validation-error.js.map +0 -1
- package/build/validation-errors.js.map +0 -1
- package/build/with-api-maker.js.map +0 -1
- package/build/with-collection.js.map +0 -1
- package/build/with-current-user.js.map +0 -1
- package/build/with-model.js.map +0 -1
- package/build/with-router.js.map +0 -1
package/build/use-router.js
CHANGED
|
@@ -1,137 +1,95 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
1
|
+
import config from "./config.js";
|
|
2
|
+
import escapeStringRegexp from "escape-string-regexp";
|
|
3
|
+
import * as inflection from "inflection";
|
|
4
|
+
import PropTypes from "prop-types";
|
|
5
|
+
import propTypesExact from "prop-types-exact";
|
|
6
|
+
import { useCallback, useMemo } from "react";
|
|
7
|
+
import useShape from "set-state-compare/build/use-shape.js";
|
|
8
|
+
const useRouterPropTypes = propTypesExact({
|
|
9
|
+
locales: PropTypes.array.isRequired,
|
|
10
|
+
path: PropTypes.string,
|
|
11
|
+
routeDefinitions: PropTypes.object.isRequired,
|
|
12
|
+
routes: PropTypes.object.isRequired
|
|
17
13
|
});
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
return ownKeys(o);
|
|
26
|
-
};
|
|
27
|
-
return function (mod) {
|
|
28
|
-
if (mod && mod.__esModule) return mod;
|
|
29
|
-
var result = {};
|
|
30
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
-
__setModuleDefault(result, mod);
|
|
32
|
-
return result;
|
|
33
|
-
};
|
|
34
|
-
})();
|
|
35
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
-
};
|
|
38
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
-
var config_js_1 = __importDefault(require("./config.js"));
|
|
40
|
-
var escape_string_regexp_1 = __importDefault(require("escape-string-regexp"));
|
|
41
|
-
var inflection = __importStar(require("inflection"));
|
|
42
|
-
var prop_types_1 = __importDefault(require("prop-types"));
|
|
43
|
-
var prop_types_exact_1 = __importDefault(require("prop-types-exact"));
|
|
44
|
-
var react_1 = require("react");
|
|
45
|
-
var use_shape_js_1 = __importDefault(require("set-state-compare/build/use-shape.js"));
|
|
46
|
-
var useRouterPropTypes = (0, prop_types_exact_1.default)({
|
|
47
|
-
locales: prop_types_1.default.array.isRequired,
|
|
48
|
-
path: prop_types_1.default.string,
|
|
49
|
-
routeDefinitions: prop_types_1.default.object.isRequired,
|
|
50
|
-
routes: prop_types_1.default.object.isRequired
|
|
51
|
-
});
|
|
52
|
-
var useRouter = function (props) {
|
|
53
|
-
prop_types_1.default.checkPropTypes(useRouterPropTypes, props, "prop", "useRouter");
|
|
54
|
-
var s = (0, use_shape_js_1.default)(props);
|
|
55
|
-
var findRouteParams = (0, react_1.useCallback)(function (routeDefinition) {
|
|
56
|
-
var result = [];
|
|
57
|
-
var parts = routeDefinition.path.split("/");
|
|
58
|
-
for (var _i = 0, parts_1 = parts; _i < parts_1.length; _i++) {
|
|
59
|
-
var part = parts_1[_i];
|
|
14
|
+
const useRouter = (props) => {
|
|
15
|
+
PropTypes.checkPropTypes(useRouterPropTypes, props, "prop", "useRouter");
|
|
16
|
+
const s = useShape(props);
|
|
17
|
+
const findRouteParams = useCallback((routeDefinition) => {
|
|
18
|
+
const result = [];
|
|
19
|
+
const parts = routeDefinition.path.split("/");
|
|
20
|
+
for (const part of parts) {
|
|
60
21
|
if (part.match(/^:([a-z_]+)$/))
|
|
61
22
|
result.push(part);
|
|
62
23
|
}
|
|
63
24
|
return result;
|
|
64
25
|
}, []);
|
|
65
|
-
|
|
66
|
-
|
|
26
|
+
const getPath = useCallback(() => {
|
|
27
|
+
let path = s.p.path || window.location.pathname;
|
|
67
28
|
path = path.replace(/[/]+$/, "");
|
|
68
29
|
return path;
|
|
69
30
|
}, []);
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
for (
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
var params_1 = findRouteParams(routeDefinition);
|
|
83
|
-
params_1.push({ locale: locale });
|
|
31
|
+
const getRouteDefinitions = useCallback(() => s.p.routeDefinitions || config.getRouteDefinitions(), []);
|
|
32
|
+
const getRoutes = useCallback(() => s.p.routes || config.getRoutes(), []);
|
|
33
|
+
const parseRouteDefinitions = useCallback(() => {
|
|
34
|
+
const routeDefinitions = getRouteDefinitions();
|
|
35
|
+
const routes = getRoutes();
|
|
36
|
+
const regex = /:([A-z\d_]+)/;
|
|
37
|
+
const parsedRouteDefinitions = [];
|
|
38
|
+
for (const locale of s.p.locales) {
|
|
39
|
+
for (const routeDefinition of routeDefinitions.routes) {
|
|
40
|
+
const routePathName = `${inflection.camelize(routeDefinition.name, true)}Path`;
|
|
41
|
+
const params = findRouteParams(routeDefinition);
|
|
42
|
+
params.push({ locale });
|
|
84
43
|
if (!(routePathName in routes))
|
|
85
|
-
throw new Error(
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
pathRegexString += (
|
|
44
|
+
throw new Error(`${routePathName} not found in routes: ${Object.keys(routes, ", ")}`);
|
|
45
|
+
const routePath = routes[routePathName](...params).replace(/[/]+$/, "");
|
|
46
|
+
const groups = [];
|
|
47
|
+
let pathRegexString = "^";
|
|
48
|
+
pathRegexString += escapeStringRegexp(routePath);
|
|
90
49
|
while (true) {
|
|
91
|
-
|
|
92
|
-
if (!
|
|
50
|
+
const match = pathRegexString.match(regex);
|
|
51
|
+
if (!match)
|
|
93
52
|
break;
|
|
94
|
-
|
|
53
|
+
const variableName = match[1];
|
|
95
54
|
groups.push(variableName);
|
|
96
|
-
pathRegexString = pathRegexString.replace(
|
|
55
|
+
pathRegexString = pathRegexString.replace(match[0], "([^/]+)");
|
|
97
56
|
}
|
|
98
57
|
pathRegexString += "$";
|
|
99
|
-
|
|
100
|
-
parsedRouteDefinitions.push({ groups
|
|
58
|
+
const pathRegex = new RegExp(pathRegexString);
|
|
59
|
+
parsedRouteDefinitions.push({ groups, pathRegex, routeDefinition });
|
|
101
60
|
}
|
|
102
61
|
}
|
|
103
62
|
return parsedRouteDefinitions;
|
|
104
63
|
}, []);
|
|
105
|
-
|
|
106
|
-
s.updateMeta({ parsedRouteDefinitions
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
for (
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
if (match_2) {
|
|
64
|
+
const parsedRouteDefinitions = useMemo(() => parseRouteDefinitions(), []);
|
|
65
|
+
s.updateMeta({ parsedRouteDefinitions });
|
|
66
|
+
const findMatchingRoute = useCallback(() => {
|
|
67
|
+
const path = getPath();
|
|
68
|
+
for (const parsedRouteDefinition of s.m.parsedRouteDefinitions) {
|
|
69
|
+
const match = path.match(parsedRouteDefinition.pathRegex);
|
|
70
|
+
let matched, params;
|
|
71
|
+
if (match) {
|
|
114
72
|
matched = true;
|
|
115
|
-
|
|
116
|
-
for (
|
|
117
|
-
|
|
118
|
-
|
|
73
|
+
params = {};
|
|
74
|
+
for (const groupKey in parsedRouteDefinition.groups) {
|
|
75
|
+
const groupName = parsedRouteDefinition.groups[groupKey];
|
|
76
|
+
params[groupName] = match[Number(groupKey) + 1];
|
|
119
77
|
}
|
|
120
78
|
}
|
|
121
79
|
if (path == "" && parsedRouteDefinition.routeDefinition.path == "/")
|
|
122
80
|
matched = true;
|
|
123
81
|
if (matched) {
|
|
124
|
-
return { params
|
|
82
|
+
return { params, parsedRouteDefinition };
|
|
125
83
|
}
|
|
126
84
|
}
|
|
127
85
|
}, []);
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
matchingRoute
|
|
132
|
-
params
|
|
86
|
+
const matchingRoute = findMatchingRoute();
|
|
87
|
+
const params = matchingRoute?.params || {};
|
|
88
|
+
const match = {
|
|
89
|
+
matchingRoute,
|
|
90
|
+
params
|
|
133
91
|
};
|
|
134
|
-
return { match
|
|
92
|
+
return { match };
|
|
135
93
|
};
|
|
136
|
-
|
|
137
|
-
//# sourceMappingURL=use-router.js.map
|
|
94
|
+
export default useRouter;
|
|
95
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlLXJvdXRlci5qcyIsInNvdXJjZVJvb3QiOiIvc3JjLyIsInNvdXJjZXMiOlsidXNlLXJvdXRlci5qc3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxNQUFNLE1BQU0sYUFBYSxDQUFBO0FBQ2hDLE9BQU8sa0JBQWtCLE1BQU0sc0JBQXNCLENBQUE7QUFDckQsT0FBTyxLQUFLLFVBQVUsTUFBTSxZQUFZLENBQUE7QUFDeEMsT0FBTyxTQUFTLE1BQU0sWUFBWSxDQUFBO0FBQ2xDLE9BQU8sY0FBYyxNQUFNLGtCQUFrQixDQUFBO0FBQzdDLE9BQU8sRUFBQyxXQUFXLEVBQUUsT0FBTyxFQUFDLE1BQU0sT0FBTyxDQUFBO0FBQzFDLE9BQU8sUUFBUSxNQUFNLHNDQUFzQyxDQUFBO0FBRTNELE1BQU0sa0JBQWtCLEdBQUcsY0FBYyxDQUFDO0lBQ3hDLE9BQU8sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLFVBQVU7SUFDbkMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxNQUFNO0lBQ3RCLGdCQUFnQixFQUFFLFNBQVMsQ0FBQyxNQUFNLENBQUMsVUFBVTtJQUM3QyxNQUFNLEVBQUUsU0FBUyxDQUFDLE1BQU0sQ0FBQyxVQUFVO0NBQ3BDLENBQUMsQ0FBQTtBQUVGLE1BQU0sU0FBUyxHQUFHLENBQUMsS0FBSyxFQUFFLEVBQUU7SUFDMUIsU0FBUyxDQUFDLGNBQWMsQ0FBQyxrQkFBa0IsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFdBQVcsQ0FBQyxDQUFBO0lBRXhFLE1BQU0sQ0FBQyxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUV6QixNQUFNLGVBQWUsR0FBRyxXQUFXLENBQUMsQ0FBQyxlQUFlLEVBQUUsRUFBRTtRQUN0RCxNQUFNLE1BQU0sR0FBRyxFQUFFLENBQUE7UUFDakIsTUFBTSxLQUFLLEdBQUcsZUFBZSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUE7UUFFN0MsS0FBSyxNQUFNLElBQUksSUFBSSxLQUFL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SUFBSSxJQUFJLEdBQUc7Z0JBQUUsT0FBTyxHQUFHLElBQUksQ0FBQTtZQUNuRixJQUFJLE9BQU8sRUFBRSxDQUFDO2dCQUNaLE9BQU8sRUFBQyxNQUFNLEVBQUUscUJBQXFCLEVBQUMsQ0FBQTtZQUN4QyxDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQTtJQUVOLE1BQU0sYUFBYSxHQUFHLGlCQUFpQixFQUFFLENBQUE7SUFDekMsTUFBTSxNQUFNLEdBQUcsYUFBYSxFQUFFLE1BQU0sSUFBSSxFQUFFLENBQUE7SUFDMUMsTUFBTSxLQUFLLEdBQUc7UUFDWixhQUFhO1FBQ2IsTUFBTTtLQUNQLENBQUE7SUFFRCxPQUFPLEVBQUMsS0FBSyxFQUFDLENBQUE7QUFDaEIsQ0FBQyxDQUFBO0FBRUQsZUFBZSxTQUFTLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgY29uZmlnIGZyb20gXCIuL2NvbmZpZy5qc1wiXG5pbXBvcnQgZXNjYXBlU3RyaW5nUmVnZXhwIGZyb20gXCJlc2NhcGUtc3RyaW5nLXJlZ2V4cFwiXG5pbXBvcnQgKiBhcyBpbmZsZWN0aW9uIGZyb20gXCJpbmZsZWN0aW9uXCJcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSBcInByb3AtdHlwZXNcIlxuaW1wb3J0IHByb3BUeXBlc0V4YWN0IGZyb20gXCJwcm9wLXR5cGVzLWV4YWN0XCJcbmltcG9ydCB7dXNlQ2FsbGJhY2ssIHVzZU1lbW99IGZyb20gXCJyZWFjdFwiXG5pbXBvcnQgdXNlU2hhcGUgZnJvbSBcInNldC1zdGF0ZS1jb21wYXJlL2J1aWxkL3VzZS1zaGFwZS5qc1wiXG5cbmNvbnN0IHVzZVJvdXRlclByb3BUeXBlcyA9IHByb3BUeXBlc0V4YWN0KHtcbiAgbG9jYWxlczogUHJvcFR5cGVzLmFycmF5LmlzUmVxdWlyZWQsXG4gIHBhdGg6IFByb3BUeXBlcy5zdHJpbmcsXG4gIHJvdXRlRGVmaW5pdGlvbnM6IFByb3BUeXBlcy5vYmplY3QuaXNSZXF1aXJlZCxcbiAgcm91dGVzOiBQcm9wVHlwZXMub2JqZWN0LmlzUmVxdWlyZWRcbn0pXG5cbmNvbnN0IHVzZVJvdXRlciA9IChwcm9wcykgPT4ge1xuICBQcm9wVHlwZXMuY2hlY2tQcm9wVHlwZXModXNlUm91dGVyUHJvcFR5cGVzLCBwcm9wcywgXCJwcm9wXCIsIFwidXNlUm91dGVyXCIpXG5cbiAgY29uc3QgcyA9IHVzZVNoYXBlKHByb3BzKVxuXG4gIGNvbnN0IGZpbmRSb3V0ZVBhcmFtcyA9IHVzZUNhbGxiYWNrKChyb3V0ZURlZmluaXRpb24pID0+IHtcbiAgICBjb25zdCByZXN1bHQgPSBbXVxuICAgIGNvbnN0IHBhcnRzID0gcm91dGVEZWZpbml0aW9uLnBhdGguc3BsaXQoXCIvXCIpXG5cbiAgICBmb3IgKGNvbnN0IHBhcnQgb2YgcGFydHMpIHtcbiAgICAgIGlmIChwYXJ0Lm1hdGNoKC9eOihbYS16X10rKSQvKSlcbiAgICAgICAgcmVzdWx0LnB1c2gocGFydClcbiAgICB9XG5cbiAgICByZXR1cm4gcmVzdWx0XG4gIH0sIFtdKVxuXG4gIGNvbnN0IGdldFBhdGggPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgbGV0IHBhdGggPSBzLnAucGF0aCB8fCB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWVcblxuICAgIHBhdGggPSBwYXRoLnJlcGxhY2UoL1svXSskLywgXCJcIilcblxuICAgIHJldHVybiBwYXRoXG4gIH0sIFtdKVxuXG4gIGNvbnN0IGdldFJvdXRlRGVmaW5pdGlvbnMgPSB1c2VDYWxsYmFjaygoKSA9PiBzLnAucm91dGVEZWZpbml0aW9ucyB8fCBjb25maWcuZ2V0Um91dGVEZWZpbml0aW9ucygpLCBbXSlcbiAgY29uc3QgZ2V0Um91dGVzID0gdXNlQ2FsbGJhY2soKCkgPT4gcy5wLnJvdXRlcyB8fCBjb25maWcuZ2V0Um91dGVzKCksIFtdKVxuXG4gIGNvbnN0IHBhcnNlUm91dGVEZWZpbml0aW9ucyA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBjb25zdCByb3V0ZURlZmluaXRpb25zID0gZ2V0Um91dGVEZWZpbml0aW9ucygpXG4gICAgY29uc3Qgcm91dGVzID0gZ2V0Um91dGVzKClcbiAgICBjb25zdCByZWdleCA9IC86KFtBLXpcXGRfXSspL1xuICAgIGNvbnN0IHBhcnNlZFJvdXRlRGVmaW5pdGlvbnMgPSBbXVxuXG4gICAgZm9yIChjb25zdCBsb2NhbGUgb2Ygcy5wLmxvY2FsZXMpIHtcbiAgICAgIGZvciAoY29uc3Qgcm91dGVEZWZpbml0aW9uIG9mIHJvdXRlRGVmaW5pdGlvbnMucm91dGVzKSB7XG4gICAgICAgIGNvbnN0IHJvdXRlUGF0aE5hbWUgPSBgJHtpbmZsZWN0aW9uLmNhbWVsaXplKHJvdXRlRGVmaW5pdGlvbi5uYW1lLCB0cnVlKX1QYXRoYFxuICAgICAgICBjb25zdCBwYXJhbXMgPSBmaW5kUm91dGVQYXJhbXMocm91dGVEZWZpbml0aW9uKVxuXG4gICAgICAgIHBhcmFtcy5wdXNoKHtsb2NhbGV9KVxuXG4gICAgICAgIGlmICghKHJvdXRlUGF0aE5hbWUgaW4gcm91dGVzKSlcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYCR7cm91dGVQYXRoTmFtZX0gbm90IGZvdW5kIGluIHJvdXRlczogJHtPYmplY3Qua2V5cyhyb3V0ZXMsIFwiLCBcIil9YClcblxuICAgICAgICBjb25zdCByb3V0ZVBhdGggPSByb3V0ZXNbcm91dGVQYXRoTmFtZV0oLi4ucGFyYW1zKS5yZXBsYWNlKC9bL10rJC8sIFwiXCIpXG4gICAgICAgIGNvbnN0IGdyb3VwcyA9IFtdXG4gICAgICAgIGxldCBwYXRoUmVnZXhTdHJpbmcgPSBcIl5cIlxuXG4gICAgICAgIHBhdGhSZWdleFN0cmluZyArPSBlc2NhcGVTdHJpbmdSZWdleHAocm91dGVQYXRoKVxuXG4gICAgICAgIHdoaWxlICh0cnVlKSB7XG4gICAgICAgICAgY29uc3QgbWF0Y2ggPSBwYXRoUmVnZXhTdHJpbmcubWF0Y2gocmVnZXgpXG5cbiAgICAgICAgICBpZiAoIW1hdGNoKSBicmVha1xuXG4gICAgICAgICAgY29uc3QgdmFyaWFibGVOYW1lID0gbWF0Y2hbMV1cblxuICAgICAgICAgIGdyb3Vwcy5wdXNoKHZhcmlhYmxlTmFtZSlcblxuICAgICAgICAgIHBhdGhSZWdleFN0cmluZyA9IHBhdGhSZWdleFN0cmluZy5yZXBsYWNlKG1hdGNoWzBdLCBcIihbXi9dKylcIilcbiAgICAgICAgfVxuXG4gICAgICAgIHBhdGhSZWdleFN0cmluZyArPSBcIiRcIlxuXG4gICAgICAgIGNvbnN0IHBhdGhSZWdleCA9IG5ldyBSZWdFeHAocGF0aFJlZ2V4U3RyaW5nKVxuXG4gICAgICAgIHBhcnNlZFJvdXRlRGVmaW5pdGlvbnMucHVzaCh7Z3JvdXBzLCBwYXRoUmVnZXgsIHJvdXRlRGVmaW5pdGlvbn0pXG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHBhcnNlZFJvdXRlRGVmaW5pdGlvbnNcbiAgfSwgW10pXG5cbiAgY29uc3QgcGFyc2VkUm91dGVEZWZpbml0aW9ucyA9IHVzZU1lbW8oKCkgPT4gcGFyc2VSb3V0ZURlZmluaXRpb25zKCksIFtdKVxuXG4gIHMudXBkYXRlTWV0YSh7cGFyc2VkUm91dGVEZWZpbml0aW9uc30pXG5cbiAgY29uc3QgZmluZE1hdGNoaW5nUm91dGUgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgY29uc3QgcGF0aCA9IGdldFBhdGgoKVxuXG4gICAgZm9yIChjb25zdCBwYXJzZWRSb3V0ZURlZmluaXRpb24gb2Ygcy5tLnBhcnNlZFJvdXRlRGVmaW5pdGlvbnMpIHtcbiAgICAgIGNvbnN0IG1hdGNoID0gcGF0aC5tYXRjaChwYXJzZWRSb3V0ZURlZmluaXRpb24ucGF0aFJlZ2V4KVxuICAgICAgbGV0IG1hdGNoZWQsIHBhcmFtc1xuXG4gICAgICBpZiAobWF0Y2gpIHtcbiAgICAgICAgbWF0Y2hlZCA9IHRydWVcbiAgICAgICAgcGFyYW1zID0ge31cblxuICAgICAgICBmb3IgKGNvbnN0IGdyb3VwS2V5IGluIHBhcnNlZFJvdXRlRGVmaW5pdGlvbi5ncm91cHMpIHtcbiAgICAgICAgICBjb25zdCBncm91cE5hbWUgPSBwYXJzZWRSb3V0ZURlZmluaXRpb24uZ3JvdXBzW2dyb3VwS2V5XVxuXG4gICAgICAgICAgcGFyYW1zW2dyb3VwTmFtZV0gPSBtYXRjaFtOdW1iZXIoZ3JvdXBLZXkpICsgMV1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAocGF0aCA9PSBcIlwiICYmIHBhcnNlZFJvdXRlRGVmaW5pdGlvbi5yb3V0ZURlZmluaXRpb24ucGF0aCA9PSBcIi9cIikgbWF0Y2hlZCA9IHRydWVcbiAgICAgIGlmIChtYXRjaGVkKSB7XG4gICAgICAgIHJldHVybiB7cGFyYW1zLCBwYXJzZWRSb3V0ZURlZmluaXRpb259XG4gICAgICB9XG4gICAgfVxuICB9LCBbXSlcblxuICBjb25zdCBtYXRjaGluZ1JvdXRlID0gZmluZE1hdGNoaW5nUm91dGUoKVxuICBjb25zdCBwYXJhbXMgPSBtYXRjaGluZ1JvdXRlPy5wYXJhbXMgfHwge31cbiAgY29uc3QgbWF0Y2ggPSB7XG4gICAgbWF0Y2hpbmdSb3V0ZSxcbiAgICBwYXJhbXNcbiAgfVxuXG4gIHJldHVybiB7bWF0Y2h9XG59XG5cbmV4cG9ydCBkZWZhdWx0IHVzZVJvdXRlclxuIl19
|
|
@@ -1,7 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
var react_native_1 = require("react-native");
|
|
4
|
-
var getWindowLayout = function (width) {
|
|
1
|
+
import { Platform, useWindowDimensions } from "react-native";
|
|
2
|
+
const getWindowLayout = (width) => {
|
|
5
3
|
if (width <= 575) {
|
|
6
4
|
return "xs";
|
|
7
5
|
}
|
|
@@ -21,28 +19,28 @@ var getWindowLayout = function (width) {
|
|
|
21
19
|
return "xxl";
|
|
22
20
|
}
|
|
23
21
|
else {
|
|
24
|
-
console.error(
|
|
22
|
+
console.error(`Couldn't determine window layout from width: ${width}`);
|
|
25
23
|
}
|
|
26
24
|
};
|
|
27
|
-
|
|
28
|
-
if (
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
if (
|
|
35
|
-
|
|
25
|
+
const useScreenLayout = () => {
|
|
26
|
+
if (Platform.OS == "web") {
|
|
27
|
+
const shared = useMemo(() => ({}));
|
|
28
|
+
shared.width = window.innerWidth;
|
|
29
|
+
const [screenLayout, setScreenLayout] = useState(() => getWindowLayout(shared.width));
|
|
30
|
+
const onResize = useCallback(() => {
|
|
31
|
+
const newWindowLayout = getWindowLayout(window.innerWidth);
|
|
32
|
+
if (shared.screenlayout != newWindowLayout) {
|
|
33
|
+
setScreenLayout(newWindowLayout);
|
|
36
34
|
}
|
|
37
35
|
}, []);
|
|
38
36
|
useEventListener(window, "resize", onResize);
|
|
39
|
-
|
|
40
|
-
return
|
|
37
|
+
shared.screenLayout = screenLayout;
|
|
38
|
+
return shared.screenLayout;
|
|
41
39
|
}
|
|
42
40
|
else {
|
|
43
|
-
|
|
41
|
+
const windowDimensions = useWindowDimensions();
|
|
44
42
|
return getWindowLayout(windowDimensions.width);
|
|
45
43
|
}
|
|
46
44
|
};
|
|
47
|
-
|
|
48
|
-
//# sourceMappingURL=
|
|
45
|
+
export default useScreenLayout;
|
|
46
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlLXNjcmVlbi1sYXlvdXQuanMiLCJzb3VyY2VSb290IjoiL3NyYy8iLCJzb3VyY2VzIjpbInVzZS1zY3JlZW4tbGF5b3V0LmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUUsbUJBQW1CLEVBQUMsTUFBTSxjQUFjLENBQUE7QUFFMUQsTUFBTSxlQUFlLEdBQUcsQ0FBQyxLQUFLLEVBQUUsRUFBRTtJQUNoQyxJQUFJLEtBQUssSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUNqQixPQUFPLElBQUksQ0FBQTtJQUNiLENBQUM7U0FBTSxJQUFJLEtBQUssSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUN4QixPQUFPLElBQUksQ0FBQTtJQUNiLENBQUM7U0FBTSxJQUFJLEtBQUssSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUN4QixPQUFPLElBQUksQ0FBQTtJQUNiLENBQUM7U0FBTSxJQUFJLEtBQUssSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUN6QixPQUFPLElBQUksQ0FBQTtJQUNiLENBQUM7U0FBTSxJQUFJLEtBQUssSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUN6QixPQUFPLElBQUksQ0FBQTtJQUNiLENBQUM7U0FBTSxJQUFJLEtBQUssSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUN6QixPQUFPLEtBQUssQ0FBQTtJQUNkLENBQUM7U0FBTSxDQUFDO1FBQ04sT0FBTyxDQUFDLEtBQUssQ0FBQyxnREFBZ0QsS0FBSyxFQUFFLENBQUMsQ0FBQTtJQUN4RSxDQUFDO0FBQ0gsQ0FBQyxDQUFBO0FBRUQsTUFBTSxlQUFlLEdBQUcsR0FBRyxFQUFFO0lBQzNCLElBQUksUUFBUSxDQUFDLEVBQUUsSUFBSSxLQUFLLEVBQUUsQ0FBQztRQUN6QixNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFBO1FBRWxDLE1BQU0sQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQTtRQUVoQyxNQUFNLENBQUMsWUFBWSxFQUFFLGVBQWUsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUE7UUFFckYsTUFBTSxRQUFRLEdBQUcsV0FBVyxDQUFDLEdBQUcsRUFBRTtZQUNoQyxNQUFNLGVBQWUsR0FBRyxlQUFlLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFBO1lBRTFELElBQUksTUFBTSxDQUFDLFlBQVksSUFBSSxlQUFlLEVBQUUsQ0FBQztnQkFDM0MsZUFBZSxDQUFDLGVBQWUsQ0FBQyxDQUFBO1lBQ2xDLENBQUM7UUFDSCxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUE7UUFFTixnQkFBZ0IsQ0FBQyxNQUFNLEVBQUUsUUFBUSxFQUFFLFFBQVEsQ0FBQyxDQUFBO1FBRTVDLE1BQU0sQ0FBQyxZQUFZLEdBQUcsWUFBWSxDQUFBO1FBRWxDLE9BQU8sTUFBTSxDQUFDLFlBQVksQ0FBQTtJQUM1QixDQUFDO1NBQU0sQ0FBQztRQUNOLE1BQU0sZ0JBQWdCLEdBQUcsbUJBQW1CLEVBQUUsQ0FBQTtRQUU5QyxPQUFPLGVBQWUsQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUNoRCxDQUFDO0FBQ0gsQ0FBQyxDQUFBO0FBRUQsZUFBZSxlQUFlLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1BsYXRmb3JtLCB1c2VXaW5kb3dEaW1lbnNpb25zfSBmcm9tIFwicmVhY3QtbmF0aXZlXCJcblxuY29uc3QgZ2V0V2luZG93TGF5b3V0ID0gKHdpZHRoKSA9PiB7XG4gIGlmICh3aWR0aCA8PSA1NzUpIHtcbiAgICByZXR1cm4gXCJ4c1wiXG4gIH0gZWxzZSBpZiAod2lkdGggPD0gNzY3KSB7XG4gICAgcmV0dXJuIFwic21cIlxuICB9IGVsc2UgaWYgKHdpZHRoIDw9IDk5MSkge1xuICAgIHJldHVybiBcIm1kXCJcbiAgfSBlbHNlIGlmICh3aWR0aCA8PSAxMTk5KSB7XG4gICAgcmV0dXJuIFwibGdcIlxuICB9IGVsc2UgaWYgKHdpZHRoIDw9IDEzOTkpIHtcbiAgICByZXR1cm4gXCJ4bFwiXG4gIH0gZWxzZSBpZiAod2lkdGggPj0gMTQwMCkge1xuICAgIHJldHVybiBcInh4bFwiXG4gIH0gZWxzZSB7XG4gICAgY29uc29sZS5lcnJvcihgQ291bGRuJ3QgZGV0ZXJtaW5lIHdpbmRvdyBsYXlvdXQgZnJvbSB3aWR0aDogJHt3aWR0aH1gKVxuICB9XG59XG5cbmNvbnN0IHVzZVNjcmVlbkxheW91dCA9ICgpID0+IHtcbiAgaWYgKFBsYXRmb3JtLk9TID09IFwid2ViXCIpIHtcbiAgICBjb25zdCBzaGFyZWQgPSB1c2VNZW1vKCgpID0+ICh7fSkpXG5cbiAgICBzaGFyZWQud2lkdGggPSB3aW5kb3cuaW5uZXJXaWR0aFxuXG4gICAgY29uc3QgW3NjcmVlbkxheW91dCwgc2V0U2NyZWVuTGF5b3V0XSA9IHVzZVN0YXRlKCgpID0+IGdldFdpbmRvd0xheW91dChzaGFyZWQud2lkdGgpKVxuXG4gICAgY29uc3Qgb25SZXNpemUgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgICBjb25zdCBuZXdXaW5kb3dMYXlvdXQgPSBnZXRXaW5kb3dMYXlvdXQod2luZG93LmlubmVyV2lkdGgpXG5cbiAgICAgIGlmIChzaGFyZWQuc2NyZWVubGF5b3V0ICE9IG5ld1dpbmRvd0xheW91dCkge1xuICAgICAgICBzZXRTY3JlZW5MYXlvdXQobmV3V2luZG93TGF5b3V0KVxuICAgICAgfVxuICAgIH0sIFtdKVxuXG4gICAgdXNlRXZlbnRMaXN0ZW5lcih3aW5kb3csIFwicmVzaXplXCIsIG9uUmVzaXplKVxuXG4gICAgc2hhcmVkLnNjcmVlbkxheW91dCA9IHNjcmVlbkxheW91dFxuXG4gICAgcmV0dXJuIHNoYXJlZC5zY3JlZW5MYXlvdXRcbiAgfSBlbHNlIHtcbiAgICBjb25zdCB3aW5kb3dEaW1lbnNpb25zID0gdXNlV2luZG93RGltZW5zaW9ucygpXG5cbiAgICByZXR1cm4gZ2V0V2luZG93TGF5b3V0KHdpbmRvd0RpbWVuc2lvbnMud2lkdGgpXG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgdXNlU2NyZWVuTGF5b3V0XG4iXX0=
|
package/build/use-styles.js
CHANGED
|
@@ -1,68 +1,19 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
-
var ownKeys = function(o) {
|
|
20
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
-
var ar = [];
|
|
22
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
-
return ar;
|
|
24
|
-
};
|
|
25
|
-
return ownKeys(o);
|
|
26
|
-
};
|
|
27
|
-
return function (mod) {
|
|
28
|
-
if (mod && mod.__esModule) return mod;
|
|
29
|
-
var result = {};
|
|
30
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
-
__setModuleDefault(result, mod);
|
|
32
|
-
return result;
|
|
33
|
-
};
|
|
34
|
-
})();
|
|
35
|
-
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
36
|
-
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
37
|
-
if (ar || !(i in from)) {
|
|
38
|
-
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
39
|
-
ar[i] = from[i];
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
return to.concat(ar || Array.prototype.slice.call(from));
|
|
43
|
-
};
|
|
44
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
45
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
46
|
-
};
|
|
47
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
48
|
-
exports.default = useStyles;
|
|
49
|
-
var config_js_1 = __importDefault(require("./config.js"));
|
|
50
|
-
var diggerize_1 = require("diggerize");
|
|
51
|
-
var inflection = __importStar(require("inflection"));
|
|
52
|
-
var use_breakpoint_js_1 = __importDefault(require("./use-breakpoint.js"));
|
|
53
|
-
var react_1 = require("react");
|
|
1
|
+
import config from "./config.js";
|
|
2
|
+
import { digg } from "diggerize";
|
|
3
|
+
import * as inflection from "inflection";
|
|
4
|
+
import useBreakpoint from "./use-breakpoint.js";
|
|
5
|
+
import { useMemo } from "react";
|
|
54
6
|
function handleStringStyle(styles, listOfStyles, breakpoint, breakpointsReverse, arg) {
|
|
55
7
|
if (!(arg in styles)) {
|
|
56
|
-
throw new Error(
|
|
8
|
+
throw new Error(`No such styling '${arg}' in given styles: ${Object.keys(styles).join(", ")}`);
|
|
57
9
|
}
|
|
58
10
|
listOfStyles.push(styles[arg]);
|
|
59
|
-
for (
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
var breakpointIsDown = (0, diggerize_1.digg)(breakpoint, "".concat(breakpointName, "Down"));
|
|
11
|
+
for (const breakpointData of breakpointsReverse) {
|
|
12
|
+
const breakpointName = breakpointData[0];
|
|
13
|
+
const breakpointStyleNameUp = `${arg}${inflection.camelize(breakpointName)}Up`;
|
|
14
|
+
const breakpointStyleNameDown = `${arg}${inflection.camelize(breakpointName)}Down`;
|
|
15
|
+
const breakpointIsUp = digg(breakpoint, `${breakpointName}Up`);
|
|
16
|
+
const breakpointIsDown = digg(breakpoint, `${breakpointName}Down`);
|
|
66
17
|
if (breakpointStyleNameUp in styles && breakpointIsUp) {
|
|
67
18
|
listOfStyles.push(styles[breakpointStyleNameUp]);
|
|
68
19
|
}
|
|
@@ -71,36 +22,34 @@ function handleStringStyle(styles, listOfStyles, breakpoint, breakpointsReverse,
|
|
|
71
22
|
}
|
|
72
23
|
}
|
|
73
24
|
}
|
|
74
|
-
function useStyles(styles, args, dependencies) {
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
var breakpointsReverse = __spreadArray([], config_js_1.default.getBreakpoints(), true).reverse();
|
|
25
|
+
export default function useStyles(styles, args, dependencies = []) {
|
|
26
|
+
const breakpoint = useBreakpoint();
|
|
27
|
+
const breakpointName = digg(breakpoint, "name");
|
|
28
|
+
const actualDependencies = [...dependencies, breakpointName];
|
|
29
|
+
const listOfStyles = useMemo(() => {
|
|
30
|
+
const listOfStyles = [];
|
|
31
|
+
const breakpointsReverse = [...config.getBreakpoints()].reverse();
|
|
82
32
|
if (!Array.isArray(args)) {
|
|
83
33
|
args = [args];
|
|
84
34
|
}
|
|
85
|
-
for (
|
|
86
|
-
var arg = args_1[_i];
|
|
35
|
+
for (const arg of args) {
|
|
87
36
|
if (typeof arg == "string") {
|
|
88
37
|
handleStringStyle(styles, listOfStyles, breakpoint, breakpointsReverse, arg);
|
|
89
38
|
}
|
|
90
39
|
else if (typeof arg == "object") {
|
|
91
|
-
for (
|
|
92
|
-
|
|
40
|
+
for (const key in arg) {
|
|
41
|
+
const value = arg[key];
|
|
93
42
|
if (value) {
|
|
94
43
|
handleStringStyle(styles, listOfStyles, breakpoint, breakpointsReverse, key);
|
|
95
44
|
}
|
|
96
45
|
}
|
|
97
46
|
}
|
|
98
47
|
else {
|
|
99
|
-
throw new Error(
|
|
48
|
+
throw new Error(`Unhandled type: ${typeof arg}`);
|
|
100
49
|
}
|
|
101
50
|
}
|
|
102
51
|
return listOfStyles;
|
|
103
52
|
}, actualDependencies);
|
|
104
53
|
return listOfStyles;
|
|
105
54
|
}
|
|
106
|
-
//# sourceMappingURL=
|
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlLXN0eWxlcy5qcyIsInNvdXJjZVJvb3QiOiIvc3JjLyIsInNvdXJjZXMiOlsidXNlLXN0eWxlcy5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLE1BQU0sTUFBTSxhQUFhLENBQUE7QUFDaEMsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLFdBQVcsQ0FBQTtBQUM5QixPQUFPLEtBQUssVUFBVSxNQUFNLFlBQVksQ0FBQTtBQUN4QyxPQUFPLGFBQWEsTUFBTSxxQkFBcUIsQ0FBQTtBQUMvQyxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sT0FBTyxDQUFBO0FBRTdCLFNBQVMsaUJBQWlCLENBQUMsTUFBTSxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsa0JBQWtCLEVBQUUsR0FBRztJQUNsRixJQUFJLENBQUMsQ0FBQyxHQUFHLElBQUksTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUNyQixNQUFNLElBQUksS0FBSyxDQUFDLG9CQUFvQixHQUFHLHNCQUFzQixNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUE7SUFDaEcsQ0FBQztJQUVELFlBQVksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUE7SUFFOUIsS0FBSyxNQUFNLGNBQWMsSUFBSSxrQkFBa0IsRUFBRSxDQUFDO1FBQ2hELE1BQU0sY0FBYyxHQUFHLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUN4QyxNQUFNLHFCQUFxQixHQUFHLEdBQUcsR0FBRyxHQUFHLFVBQVUsQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQTtRQUM5RSxNQUFNLHVCQUF1QixHQUFHLEdBQUcsR0FBRyxHQUFHLFVBQVUsQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQTtRQUNsRixNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLEdBQUcsY0FBYyxJQUFJLENBQUMsQ0FBQTtRQUM5RCxNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsR0FBRyxjQUFjLE1BQU0sQ0FBQyxDQUFBO1FBRWxFLElBQUkscUJBQXFCLElBQUksTUFBTSxJQUFJLGNBQWMsRUFBRSxDQUFDO1lBQ3RELFlBQVksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQTtRQUNsRCxDQUFDO1FBRUQsSUFBSSx1QkFBdUIsSUFBSSxNQUFNLElBQUksZ0JBQWdCLEVBQUUsQ0FBQztZQUMxRCxZQUFZLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDLENBQUE7UUFDcEQsQ0FBQztJQUNILENBQUM7QUFDSCxDQUFDO0FBRUQsTUFBTSxDQUFDLE9BQU8sVUFBVSxTQUFTLENBQUMsTUFBTSxFQUFFLElBQUksRUFBRSxZQUFZLEdBQUcsRUFBRTtJQUMvRCxNQUFNLFVBQVUsR0FBRyxhQUFhLEVBQUUsQ0FBQTtJQUNsQyxNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLE1BQU0sQ0FBQyxDQUFBO0lBQy9DLE1BQU0sa0JBQWtCLEdBQUcsQ0FBQyxHQUFHLFlBQVksRUFBRSxjQUFjLENBQUMsQ0FBQTtJQUU1RCxNQUFNLFlBQVksR0FBRyxPQUFPLENBQUMsR0FBRyxFQUFFO1FBQ2hDLE1BQU0sWUFBWSxHQUFHLEVBQUUsQ0FBQTtRQUN2QixNQUFNLGtCQUFrQixHQUFHLENBQUMsR0FBRyxNQUFNLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQTtRQUVqRSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQ3pCLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFBO1FBQ2YsQ0FBQztRQUVELEtBQUssTUFBTSxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7WUFDdkIsSUFBSSxPQUFPLEdBQUcsSUFBSSxRQUFRLEVBQUUsQ0FBQztnQkFDM0IsaUJBQWlCLENBQUMsTUFBTSxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsa0JBQWtCLEVBQUUsR0FBRyxDQUFDLENBQUE7WUFDOUUsQ0FBQztpQkFBTSxJQUFJLE9BQU8sR0FBRyxJQUFJLFFBQVEsRUFBRSxDQUFDO2dCQUNsQyxLQUFLLE1BQU0sR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFDO29CQUN0QixNQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUE7b0JBRXRCLElBQUksS0FBSyxFQUFFLENBQUM7d0JBQ1YsaUJBQWlCLENBQUMsTUFBTSxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsa0JBQWtCLEVBQUUsR0FBRyxDQUFDLENBQUE7b0JBQzlFLENBQUM7Z0JBQ0gsQ0FBQztZQUNILENBQUM7aUJBQU0sQ0FBQztnQkFDTixNQUFNLElBQUksS0FBSyxDQUFDLG1CQUFtQixPQUFPLEdBQUcsRUFBRSxDQUFDLENBQUE7WUFDbEQsQ0FBQztRQUNILENBQUM7UUFFRCxPQUFPLFlBQVksQ0FBQTtJQUNyQixDQUFDLEVBQUUsa0JBQWtCLENBQUMsQ0FBQTtJQUV0QixPQUFPLFlBQVksQ0FBQTtBQUNyQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGNvbmZpZyBmcm9tIFwiLi9jb25maWcuanNcIlxuaW1wb3J0IHtkaWdnfSBmcm9tIFwiZGlnZ2VyaXplXCJcbmltcG9ydCAqIGFzIGluZmxlY3Rpb24gZnJvbSBcImluZmxlY3Rpb25cIlxuaW1wb3J0IHVzZUJyZWFrcG9pbnQgZnJvbSBcIi4vdXNlLWJyZWFrcG9pbnQuanNcIlxuaW1wb3J0IHt1c2VNZW1vfSBmcm9tIFwicmVhY3RcIlxuXG5mdW5jdGlvbiBoYW5kbGVTdHJpbmdTdHlsZShzdHlsZXMsIGxpc3RPZlN0eWxlcywgYnJlYWtwb2ludCwgYnJlYWtwb2ludHNSZXZlcnNlLCBhcmcpIHtcbiAgaWYgKCEoYXJnIGluIHN0eWxlcykpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYE5vIHN1Y2ggc3R5bGluZyAnJHthcmd9JyBpbiBnaXZlbiBzdHlsZXM6ICR7T2JqZWN0LmtleXMoc3R5bGVzKS5qb2luKFwiLCBcIil9YClcbiAgfVxuXG4gIGxpc3RPZlN0eWxlcy5wdXNoKHN0eWxlc1thcmddKVxuXG4gIGZvciAoY29uc3QgYnJlYWtwb2ludERhdGEgb2YgYnJlYWtwb2ludHNSZXZlcnNlKSB7XG4gICAgY29uc3QgYnJlYWtwb2ludE5hbWUgPSBicmVha3BvaW50RGF0YVswXVxuICAgIGNvbnN0IGJyZWFrcG9pbnRTdHlsZU5hbWVVcCA9IGAke2FyZ30ke2luZmxlY3Rpb24uY2FtZWxpemUoYnJlYWtwb2ludE5hbWUpfVVwYFxuICAgIGNvbnN0IGJyZWFrcG9pbnRTdHlsZU5hbWVEb3duID0gYCR7YXJnfSR7aW5mbGVjdGlvbi5jYW1lbGl6ZShicmVha3BvaW50TmFtZSl9RG93bmBcbiAgICBjb25zdCBicmVha3BvaW50SXNVcCA9IGRpZ2coYnJlYWtwb2ludCwgYCR7YnJlYWtwb2ludE5hbWV9VXBgKVxuICAgIGNvbnN0IGJyZWFrcG9pbnRJc0Rvd24gPSBkaWdnKGJyZWFrcG9pbnQsIGAke2JyZWFrcG9pbnROYW1lfURvd25gKVxuXG4gICAgaWYgKGJyZWFrcG9pbnRTdHlsZU5hbWVVcCBpbiBzdHlsZXMgJiYgYnJlYWtwb2ludElzVXApIHtcbiAgICAgIGxpc3RPZlN0eWxlcy5wdXNoKHN0eWxlc1ticmVha3BvaW50U3R5bGVOYW1lVXBdKVxuICAgIH1cblxuICAgIGlmIChicmVha3BvaW50U3R5bGVOYW1lRG93biBpbiBzdHlsZXMgJiYgYnJlYWtwb2ludElzRG93bikge1xuICAgICAgbGlzdE9mU3R5bGVzLnB1c2goc3R5bGVzW2JyZWFrcG9pbnRTdHlsZU5hbWVEb3duXSlcbiAgICB9XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdXNlU3R5bGVzKHN0eWxlcywgYXJncywgZGVwZW5kZW5jaWVzID0gW10pIHtcbiAgY29uc3QgYnJlYWtwb2ludCA9IHVzZUJyZWFrcG9pbnQoKVxuICBjb25zdCBicmVha3BvaW50TmFtZSA9IGRpZ2coYnJlYWtwb2ludCwgXCJuYW1lXCIpXG4gIGNvbnN0IGFjdHVhbERlcGVuZGVuY2llcyA9IFsuLi5kZXBlbmRlbmNpZXMsIGJyZWFrcG9pbnROYW1lXVxuXG4gIGNvbnN0IGxpc3RPZlN0eWxlcyA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGNvbnN0IGxpc3RPZlN0eWxlcyA9IFtdXG4gICAgY29uc3QgYnJlYWtwb2ludHNSZXZlcnNlID0gWy4uLmNvbmZpZy5nZXRCcmVha3BvaW50cygpXS5yZXZlcnNlKClcblxuICAgIGlmICghQXJyYXkuaXNBcnJheShhcmdzKSkge1xuICAgICAgYXJncyA9IFthcmdzXVxuICAgIH1cblxuICAgIGZvciAoY29uc3QgYXJnIG9mIGFyZ3MpIHtcbiAgICAgIGlmICh0eXBlb2YgYXJnID09IFwic3RyaW5nXCIpIHtcbiAgICAgICAgaGFuZGxlU3RyaW5nU3R5bGUoc3R5bGVzLCBsaXN0T2ZTdHlsZXMsIGJyZWFrcG9pbnQsIGJyZWFrcG9pbnRzUmV2ZXJzZSwgYXJnKVxuICAgICAgfSBlbHNlIGlmICh0eXBlb2YgYXJnID09IFwib2JqZWN0XCIpIHtcbiAgICAgICAgZm9yIChjb25zdCBrZXkgaW4gYXJnKSB7XG4gICAgICAgICAgY29uc3QgdmFsdWUgPSBhcmdba2V5XVxuXG4gICAgICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgICAgICBoYW5kbGVTdHJpbmdTdHlsZShzdHlsZXMsIGxpc3RPZlN0eWxlcywgYnJlYWtwb2ludCwgYnJlYWtwb2ludHNSZXZlcnNlLCBrZXkpXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFVuaGFuZGxlZCB0eXBlOiAke3R5cGVvZiBhcmd9YClcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gbGlzdE9mU3R5bGVzXG4gIH0sIGFjdHVhbERlcGVuZGVuY2llcylcblxuICByZXR1cm4gbGlzdE9mU3R5bGVzXG59XG4iXX0=
|
|
@@ -1,23 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
t[p] = s[p];
|
|
6
|
-
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
7
|
-
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
8
|
-
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
9
|
-
t[p[i]] = s[p[i]];
|
|
10
|
-
}
|
|
11
|
-
return t;
|
|
12
|
-
};
|
|
13
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
14
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
var react_1 = require("react");
|
|
18
|
-
var debounce_1 = __importDefault(require("debounce"));
|
|
19
|
-
var model_events_js_1 = __importDefault(require("./model-events.js"));
|
|
20
|
-
var use_shape_js_1 = __importDefault(require("set-state-compare/build/use-shape.js"));
|
|
1
|
+
import { useCallback, useLayoutEffect, useMemo } from "react";
|
|
2
|
+
import debounceFunction from "debounce";
|
|
3
|
+
import ModelEvents from "./model-events.js";
|
|
4
|
+
import useShape from "set-state-compare/build/use-shape.js";
|
|
21
5
|
/**
|
|
22
6
|
* @param {import("./base-model.js").default} model
|
|
23
7
|
* @param {function} onUpdated
|
|
@@ -27,47 +11,41 @@ var use_shape_js_1 = __importDefault(require("set-state-compare/build/use-shape.
|
|
|
27
11
|
* @param {function} props.onConnected
|
|
28
12
|
* @return {void}
|
|
29
13
|
*/
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
var _a = props.active, active = _a === void 0 ? true : _a, debounce = props.debounce, onConnected = props.onConnected, restProps = __rest(props, ["active", "debounce", "onConnected"]);
|
|
14
|
+
const apiMakerUseUpdatedEvent = (model, onUpdated, props = {}) => {
|
|
15
|
+
const { active = true, debounce, onConnected, ...restProps } = props;
|
|
33
16
|
if (Object.keys(restProps).length > 0) {
|
|
34
|
-
throw new Error(
|
|
17
|
+
throw new Error(`Unknown props given to useUpdatedEvent: ${Object.keys(restProps).join(", ")}`);
|
|
35
18
|
}
|
|
36
|
-
|
|
37
|
-
|
|
19
|
+
const s = useShape({ active, debounce, model, onUpdated });
|
|
20
|
+
const debounceCallback = useMemo(() => {
|
|
38
21
|
if (typeof debounce == "number") {
|
|
39
|
-
return (
|
|
22
|
+
return debounceFunction(s.p.onUpdated, debounce);
|
|
40
23
|
}
|
|
41
24
|
else {
|
|
42
|
-
return (
|
|
25
|
+
return debounceFunction(s.p.onUpdated);
|
|
43
26
|
}
|
|
44
27
|
}, [debounce]);
|
|
45
|
-
s.updateMeta({ debounceCallback
|
|
46
|
-
|
|
47
|
-
var _a, _b;
|
|
48
|
-
var args = [];
|
|
49
|
-
for (var _i = 0; _i < arguments.length; _i++) {
|
|
50
|
-
args[_i] = arguments[_i];
|
|
51
|
-
}
|
|
28
|
+
s.updateMeta({ debounceCallback });
|
|
29
|
+
const onUpdatedCallback = useCallback((...args) => {
|
|
52
30
|
if (!s.p.active) {
|
|
53
31
|
return;
|
|
54
32
|
}
|
|
55
33
|
if (s.p.debounce) {
|
|
56
|
-
|
|
34
|
+
s.m.debounceCallback(...args);
|
|
57
35
|
}
|
|
58
36
|
else {
|
|
59
|
-
|
|
37
|
+
s.p.onUpdated(...args);
|
|
60
38
|
}
|
|
61
39
|
}, []);
|
|
62
|
-
|
|
63
|
-
|
|
40
|
+
useLayoutEffect(() => {
|
|
41
|
+
let connectUpdated, onConnectedListener;
|
|
64
42
|
if (model) {
|
|
65
|
-
connectUpdated =
|
|
43
|
+
connectUpdated = ModelEvents.connectUpdated(model, onUpdatedCallback);
|
|
66
44
|
if (onConnected) {
|
|
67
45
|
onConnectedListener = connectUpdated.events.addListener("connected", onConnected);
|
|
68
46
|
}
|
|
69
47
|
}
|
|
70
|
-
return
|
|
48
|
+
return () => {
|
|
71
49
|
if (onConnectedListener) {
|
|
72
50
|
connectUpdated.events.removeListener("connected", onConnected);
|
|
73
51
|
}
|
|
@@ -75,7 +53,7 @@ var apiMakerUseUpdatedEvent = function (model, onUpdated, props) {
|
|
|
75
53
|
connectUpdated.unsubscribe();
|
|
76
54
|
}
|
|
77
55
|
};
|
|
78
|
-
}, [model
|
|
56
|
+
}, [model?.id()]);
|
|
79
57
|
};
|
|
80
|
-
|
|
81
|
-
//# sourceMappingURL=
|
|
58
|
+
export default apiMakerUseUpdatedEvent;
|
|
59
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlLXVwZGF0ZWQtZXZlbnQuanMiLCJzb3VyY2VSb290IjoiL3NyYy8iLCJzb3VyY2VzIjpbInVzZS11cGRhdGVkLWV2ZW50LmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxXQUFXLEVBQUUsZUFBZSxFQUFFLE9BQU8sRUFBQyxNQUFNLE9BQU8sQ0FBQTtBQUMzRCxPQUFPLGdCQUFnQixNQUFNLFVBQVUsQ0FBQTtBQUN2QyxPQUFPLFdBQVcsTUFBTSxtQkFBbUIsQ0FBQTtBQUMzQyxPQUFPLFFBQVEsTUFBTSxzQ0FBc0MsQ0FBQTtBQUUzRDs7Ozs7Ozs7R0FRRztBQUNILE1BQU0sdUJBQXVCLEdBQUcsQ0FBQyxLQUFLLEVBQUUsU0FBUyxFQUFFLEtBQUssR0FBRyxFQUFFLEVBQUUsRUFBRTtJQUMvRCxNQUFNLEVBQUMsTUFBTSxHQUFHLElBQUksRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLEdBQUcsU0FBUyxFQUFDLEdBQUcsS0FBSyxDQUFBO0lBRWxFLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDdEMsTUFBTSxJQUFJLEtBQUssQ0FBQywyQ0FBMkMsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFBO0lBQ2pHLENBQUM7SUFFRCxNQUFNLENBQUMsR0FBRyxRQUFRLENBQUMsRUFBQyxNQUFNLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUMsQ0FBQyxDQUFBO0lBRXhELE1BQU0sZ0JBQWdCLEdBQUcsT0FBTyxDQUFDLEdBQUcsRUFBRTtRQUNwQyxJQUFJLE9BQU8sUUFBUSxJQUFJLFFBQVEsRUFBRSxDQUFDO1lBQ2hDLE9BQU8sZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsUUFBUSxDQUFDLENBQUE7UUFDbEQsQ0FBQzthQUFNLENBQUM7WUFDTixPQUFPLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUE7UUFDeEMsQ0FBQztJQUNILENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUE7SUFFZCxDQUFDLENBQUMsVUFBVSxDQUFDLEVBQUMsZ0JBQWdCLEVBQUMsQ0FBQyxDQUFBO0lBRWhDLE1BQU0saUJBQWlCLEdBQUcsV0FBVyxDQUFDLENBQUMsR0FBRyxJQUFJLEVBQUUsRUFBRTtRQUNoRCxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNoQixPQUFNO1FBQ1IsQ0FBQztRQUVELElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNqQixDQUFDLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUE7UUFDL0IsQ0FBQzthQUFNLENBQUM7WUFDTixDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFBO1FBQ3hCLENBQUM7SUFDSCxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUE7SUFFTixlQUFlLENBQUMsR0FBRyxFQUFFO1FBQ25CLElBQUksY0FBYyxFQUFFLG1CQUFtQixDQUFBO1FBRXZDLElBQUksS0FBSyxFQUFFLENBQUM7WUFDVixjQUFjLEdBQUcsV0FBVyxDQUFDLGNBQWMsQ0FBQyxLQUFLLEVBQUUsaUJBQWlCLENBQUMsQ0FBQTtZQUVyRSxJQUFJLFdBQVcsRUFBRSxDQUFDO2dCQUNoQixtQkFBbUIsR0FBRyxjQUFjLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxXQUFXLEVBQUUsV0FBVyxDQUFDLENBQUE7WUFDbkYsQ0FBQztRQUNILENBQUM7UUFFRCxPQUFPLEdBQUcsRUFBRTtZQUNWLElBQUksbUJBQW1CLEVBQUUsQ0FBQztnQkFDeEIsY0FBYyxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsV0FBVyxFQUFFLFdBQVcsQ0FBQyxDQUFBO1lBQ2hFLENBQUM7WUFFRCxJQUFJLGNBQWMsRUFBRSxDQUFDO2dCQUNuQixjQUFjLENBQUMsV0FBVyxFQUFFLENBQUE7WUFDOUIsQ0FBQztRQUNILENBQUMsQ0FBQTtJQUNILENBQUMsRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUE7QUFDbkIsQ0FBQyxDQUFBO0FBRUQsZUFBZSx1QkFBdUIsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7dXNlQ2FsbGJhY2ssIHVzZUxheW91dEVmZmVjdCwgdXNlTWVtb30gZnJvbSBcInJlYWN0XCJcbmltcG9ydCBkZWJvdW5jZUZ1bmN0aW9uIGZyb20gXCJkZWJvdW5jZVwiXG5pbXBvcnQgTW9kZWxFdmVudHMgZnJvbSBcIi4vbW9kZWwtZXZlbnRzLmpzXCJcbmltcG9ydCB1c2VTaGFwZSBmcm9tIFwic2V0LXN0YXRlLWNvbXBhcmUvYnVpbGQvdXNlLXNoYXBlLmpzXCJcblxuLyoqXG4gKiBAcGFyYW0ge2ltcG9ydChcIi4vYmFzZS1tb2RlbC5qc1wiKS5kZWZhdWx0fSBtb2RlbFxuICogQHBhcmFtIHtmdW5jdGlvbn0gb25VcGRhdGVkXG4gKiBAcGFyYW0ge29iamVjdH0gcHJvcHNcbiAqIEBwYXJhbSB7Ym9vbGVhbn0gcHJvcHMuYWN0aXZlXG4gKiBAcGFyYW0ge251bWJlcn0gcHJvcHMuZGVib3VuY2VcbiAqIEBwYXJhbSB7ZnVuY3Rpb259IHByb3BzLm9uQ29ubmVjdGVkXG4gKiBAcmV0dXJuIHt2b2lkfVxuICovXG5jb25zdCBhcGlNYWtlclVzZVVwZGF0ZWRFdmVudCA9IChtb2RlbCwgb25VcGRhdGVkLCBwcm9wcyA9IHt9KSA9PiB7XG4gIGNvbnN0IHthY3RpdmUgPSB0cnVlLCBkZWJvdW5jZSwgb25Db25uZWN0ZWQsIC4uLnJlc3RQcm9wc30gPSBwcm9wc1xuXG4gIGlmIChPYmplY3Qua2V5cyhyZXN0UHJvcHMpLmxlbmd0aCA+IDApIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYFVua25vd24gcHJvcHMgZ2l2ZW4gdG8gdXNlVXBkYXRlZEV2ZW50OiAke09iamVjdC5rZXlzKHJlc3RQcm9wcykuam9pbihcIiwgXCIpfWApXG4gIH1cblxuICBjb25zdCBzID0gdXNlU2hhcGUoe2FjdGl2ZSwgZGVib3VuY2UsIG1vZGVsLCBvblVwZGF0ZWR9KVxuXG4gIGNvbnN0IGRlYm91bmNlQ2FsbGJhY2sgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBpZiAodHlwZW9mIGRlYm91bmNlID09IFwibnVtYmVyXCIpIHtcbiAgICAgIHJldHVybiBkZWJvdW5jZUZ1bmN0aW9uKHMucC5vblVwZGF0ZWQsIGRlYm91bmNlKVxuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gZGVib3VuY2VGdW5jdGlvbihzLnAub25VcGRhdGVkKVxuICAgIH1cbiAgfSwgW2RlYm91bmNlXSlcblxuICBzLnVwZGF0ZU1ldGEoe2RlYm91bmNlQ2FsbGJhY2t9KVxuXG4gIGNvbnN0IG9uVXBkYXRlZENhbGxiYWNrID0gdXNlQ2FsbGJhY2soKC4uLmFyZ3MpID0+IHtcbiAgICBpZiAoIXMucC5hY3RpdmUpIHtcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIGlmIChzLnAuZGVib3VuY2UpIHtcbiAgICAgIHMubS5kZWJvdW5jZUNhbGxiYWNrKC4uLmFyZ3MpXG4gICAgfSBlbHNlIHtcbiAgICAgIHMucC5vblVwZGF0ZWQoLi4uYXJncylcbiAgICB9XG4gIH0sIFtdKVxuXG4gIHVzZUxheW91dEVmZmVjdCgoKSA9PiB7XG4gICAgbGV0IGNvbm5lY3RVcGRhdGVkLCBvbkNvbm5lY3RlZExpc3RlbmVyXG5cbiAgICBpZiAobW9kZWwpIHtcbiAgICAgIGNvbm5lY3RVcGRhdGVkID0gTW9kZWxFdmVudHMuY29ubmVjdFVwZGF0ZWQobW9kZWwsIG9uVXBkYXRlZENhbGxiYWNrKVxuXG4gICAgICBpZiAob25Db25uZWN0ZWQpIHtcbiAgICAgICAgb25Db25uZWN0ZWRMaXN0ZW5lciA9IGNvbm5lY3RVcGRhdGVkLmV2ZW50cy5hZGRMaXN0ZW5lcihcImNvbm5lY3RlZFwiLCBvbkNvbm5lY3RlZClcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgaWYgKG9uQ29ubmVjdGVkTGlzdGVuZXIpIHtcbiAgICAgICAgY29ubmVjdFVwZGF0ZWQuZXZlbnRzLnJlbW92ZUxpc3RlbmVyKFwiY29ubmVjdGVkXCIsIG9uQ29ubmVjdGVkKVxuICAgICAgfVxuXG4gICAgICBpZiAoY29ubmVjdFVwZGF0ZWQpIHtcbiAgICAgICAgY29ubmVjdFVwZGF0ZWQudW5zdWJzY3JpYmUoKVxuICAgICAgfVxuICAgIH1cbiAgfSwgW21vZGVsPy5pZCgpXSlcbn1cblxuZXhwb3J0IGRlZmF1bHQgYXBpTWFrZXJVc2VVcGRhdGVkRXZlbnRcbiJdfQ==
|
|
@@ -1,23 +1,17 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
var events_js_1 = __importDefault(require("./events.js"));
|
|
7
|
-
var react_1 = require("react");
|
|
8
|
-
var use_event_emitter_js_1 = __importDefault(require("./use-event-emitter.js"));
|
|
9
|
-
var use_shape_js_1 = __importDefault(require("set-state-compare/build/use-shape.js"));
|
|
1
|
+
import events from "./events.js";
|
|
2
|
+
import { useCallback } from "react";
|
|
3
|
+
import useEventEmitter from "./use-event-emitter.js";
|
|
4
|
+
import useShape from "set-state-compare/build/use-shape.js";
|
|
10
5
|
/**
|
|
11
6
|
* @param {function} callback
|
|
12
7
|
* @returns {object}
|
|
13
8
|
*/
|
|
14
|
-
|
|
15
|
-
|
|
9
|
+
const useValidationErrors = (callback) => {
|
|
10
|
+
const s = useShape({ callback });
|
|
16
11
|
s.useStates({ validationErrors: [] });
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
for (
|
|
20
|
-
var validationError = _a[_i];
|
|
12
|
+
const onValidationErrors = useCallback((validationErrors) => {
|
|
13
|
+
const matchedValidationErrors = [];
|
|
14
|
+
for (const validationError of validationErrors.getValidationErrors()) {
|
|
21
15
|
if (s.p.callback(validationError)) {
|
|
22
16
|
validationError.setHandled();
|
|
23
17
|
matchedValidationErrors.push(validationError);
|
|
@@ -27,10 +21,10 @@ var useValidationErrors = function (callback) {
|
|
|
27
21
|
validationErrors: matchedValidationErrors
|
|
28
22
|
});
|
|
29
23
|
}, []);
|
|
30
|
-
(
|
|
24
|
+
useEventEmitter(events, "onValidationErrors", onValidationErrors);
|
|
31
25
|
return {
|
|
32
26
|
validationErrors: s.s.validationErrors
|
|
33
27
|
};
|
|
34
28
|
};
|
|
35
|
-
|
|
36
|
-
//# sourceMappingURL=
|
|
29
|
+
export default useValidationErrors;
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlLXZhbGlkYXRpb24tZXJyb3JzLmpzIiwic291cmNlUm9vdCI6Ii9zcmMvIiwic291cmNlcyI6WyJ1c2UtdmFsaWRhdGlvbi1lcnJvcnMuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxNQUFNLE1BQU0sYUFBYSxDQUFBO0FBQ2hDLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxPQUFPLENBQUE7QUFDakMsT0FBTyxlQUFlLE1BQU0sd0JBQXdCLENBQUE7QUFDcEQsT0FBTyxRQUFRLE1BQU0sc0NBQXNDLENBQUE7QUFFM0Q7OztHQUdHO0FBQ0gsTUFBTSxtQkFBbUIsR0FBRyxDQUFDLFFBQVEsRUFBRSxFQUFFO0lBQ3ZDLE1BQU0sQ0FBQyxHQUFHLFFBQVEsQ0FBQyxFQUFDLFFBQVEsRUFBQyxDQUFDLENBQUE7SUFFOUIsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxFQUFDLGdCQUFnQixFQUFFLEVBQUUsRUFBQyxDQUFDLENBQUE7SUFFbkMsTUFBTSxrQkFBa0IsR0FBRyxXQUFXLENBQUMsQ0FBQyxnQkFBZ0IsRUFBRSxFQUFFO1FBQzFELE1BQU0sdUJBQXVCLEdBQUcsRUFBRSxDQUFBO1FBRWxDLEtBQUssTUFBTSxlQUFlLElBQUksZ0JBQWdCLENBQUMsbUJBQW1CLEVBQUUsRUFBRSxDQUFDO1lBQ3JFLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLEVBQUUsQ0FBQztnQkFDbEMsZUFBZSxDQUFDLFVBQVUsRUFBRSxDQUFBO2dCQUM1Qix1QkFBdUIsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUE7WUFDL0MsQ0FBQztRQUNILENBQUM7UUFFRCxDQUFDLENBQUMsR0FBRyxDQUFDO1lBQ0osZ0JBQWdCLEVBQUUsdUJBQXVCO1NBQzFDLENBQUMsQ0FBQTtJQUNKLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQTtJQUVOLGVBQWUsQ0FBQyxNQUFNLEVBQUUsb0JBQW9CLEVBQUUsa0JBQWtCLENBQUMsQ0FBQTtJQUVqRSxPQUFPO1FBQ0wsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0I7S0FDdkMsQ0FBQTtBQUNILENBQUMsQ0FBQTtBQUVELGVBQWUsbUJBQW1CLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgZXZlbnRzIGZyb20gXCIuL2V2ZW50cy5qc1wiXG5pbXBvcnQge3VzZUNhbGxiYWNrfSBmcm9tIFwicmVhY3RcIlxuaW1wb3J0IHVzZUV2ZW50RW1pdHRlciBmcm9tIFwiLi91c2UtZXZlbnQtZW1pdHRlci5qc1wiXG5pbXBvcnQgdXNlU2hhcGUgZnJvbSBcInNldC1zdGF0ZS1jb21wYXJlL2J1aWxkL3VzZS1zaGFwZS5qc1wiXG5cbi8qKlxuICogQHBhcmFtIHtmdW5jdGlvbn0gY2FsbGJhY2tcbiAqIEByZXR1cm5zIHtvYmplY3R9XG4gKi9cbmNvbnN0IHVzZVZhbGlkYXRpb25FcnJvcnMgPSAoY2FsbGJhY2spID0+IHtcbiAgY29uc3QgcyA9IHVzZVNoYXBlKHtjYWxsYmFja30pXG5cbiAgcy51c2VTdGF0ZXMoe3ZhbGlkYXRpb25FcnJvcnM6IFtdfSlcblxuICBjb25zdCBvblZhbGlkYXRpb25FcnJvcnMgPSB1c2VDYWxsYmFjaygodmFsaWRhdGlvbkVycm9ycykgPT4ge1xuICAgIGNvbnN0IG1hdGNoZWRWYWxpZGF0aW9uRXJyb3JzID0gW11cblxuICAgIGZvciAoY29uc3QgdmFsaWRhdGlvbkVycm9yIG9mIHZhbGlkYXRpb25FcnJvcnMuZ2V0VmFsaWRhdGlvbkVycm9ycygpKSB7XG4gICAgICBpZiAocy5wLmNhbGxiYWNrKHZhbGlkYXRpb25FcnJvcikpIHtcbiAgICAgICAgdmFsaWRhdGlvbkVycm9yLnNldEhhbmRsZWQoKVxuICAgICAgICBtYXRjaGVkVmFsaWRhdGlvbkVycm9ycy5wdXNoKHZhbGlkYXRpb25FcnJvcilcbiAgICAgIH1cbiAgICB9XG5cbiAgICBzLnNldCh7XG4gICAgICB2YWxpZGF0aW9uRXJyb3JzOiBtYXRjaGVkVmFsaWRhdGlvbkVycm9yc1xuICAgIH0pXG4gIH0sIFtdKVxuXG4gIHVzZUV2ZW50RW1pdHRlcihldmVudHMsIFwib25WYWxpZGF0aW9uRXJyb3JzXCIsIG9uVmFsaWRhdGlvbkVycm9ycylcblxuICByZXR1cm4ge1xuICAgIHZhbGlkYXRpb25FcnJvcnM6IHMucy52YWxpZGF0aW9uRXJyb3JzXG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgdXNlVmFsaWRhdGlvbkVycm9yc1xuIl19
|