@kaspernj/api-maker 1.0.2011 → 1.0.2013
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/{.eslintrc.cjs → .eslintrc.js} +10 -1
- package/README.md +35 -0
- package/android/build.gradle +43 -0
- package/android/src/main/AndroidManifest.xml +2 -0
- package/android/src/main/java/expo/modules/api_maker/ApiMakerModule.kt +50 -0
- package/android/src/main/java/expo/modules/api_maker/ApiMakerView.kt +30 -0
- package/build/api.js +120 -0
- package/build/attribute-not-loaded-error.js +2 -0
- package/build/base-component.js +5 -0
- package/build/base-error.js +33 -0
- package/build/base-model/attribute.js +25 -0
- package/build/base-model/column.js +11 -0
- package/build/base-model/reflection.js +14 -0
- package/build/base-model/scope.js +11 -0
- package/build/base-model.js +828 -0
- package/build/bootstrap/attribute-row.js +135 -0
- package/build/bootstrap/attribute-rows.js +31 -0
- package/build/bootstrap/card.js +138 -0
- package/build/bootstrap/checkbox.js +97 -0
- package/build/bootstrap/checkboxes.js +183 -0
- package/build/bootstrap/index.js +2 -0
- package/build/bootstrap/input.js +129 -0
- package/build/bootstrap/invalid-feedback.js +27 -0
- package/build/bootstrap/paginate.js +150 -0
- package/build/bootstrap/radio-buttons.js +72 -0
- package/build/bootstrap/select.js +88 -0
- package/build/bootstrap/sort-link.js +131 -0
- package/build/cable-connection-pool.js +128 -0
- package/build/cable-subscription-pool.js +207 -0
- package/build/cable-subscription.js +21 -0
- package/build/cache-key-generator.js +81 -0
- package/build/can-can.js +134 -0
- package/build/channels-consumer.js +9 -0
- package/build/collection-loader.js +48 -0
- package/build/collection.js +280 -0
- package/build/command-submit-data.js +81 -0
- package/build/commands-pool.js +195 -0
- package/build/compose.js +9 -0
- package/build/config.js +62 -0
- package/build/custom-error.js +5 -0
- package/build/data-set-to-attributes.js +10 -0
- package/build/deserializer.js +56 -0
- package/build/destroy-error.js +5 -0
- package/build/devise.js +112 -0
- package/build/draggable-sort/controller.js +136 -0
- package/build/draggable-sort/index.js +114 -0
- package/build/draggable-sort/item.js +188 -0
- package/build/error-logger.js +101 -0
- package/build/error-messages.js +13 -0
- package/build/event-connection.js +32 -0
- package/build/event-emitter-listener.js +15 -0
- package/build/event-model-class.js +24 -0
- package/build/events.js +5 -0
- package/build/flash-message.js +79 -0
- package/build/form.js +83 -0
- package/build/history-expo.js +20 -0
- package/build/history-react-native.js +20 -0
- package/build/history.js +3 -0
- package/build/index.js +3 -0
- package/build/inputs/attachment.js +133 -0
- package/build/inputs/auto-submit.js +36 -0
- package/build/inputs/checkbox.js +138 -0
- package/build/inputs/checkboxes.js +112 -0
- package/build/inputs/id-for-component.js +15 -0
- package/build/inputs/input-wrapper.js +19 -0
- package/build/inputs/input.js +243 -0
- package/build/inputs/money.js +179 -0
- package/build/inputs/name-for-component.js +13 -0
- package/build/inputs/select.js +93 -0
- package/build/instance-of-class-name.js +23 -0
- package/build/is-expo.js +22 -0
- package/build/key-value-store.js +53 -0
- package/build/link.js +73 -0
- package/build/logger.js +30 -0
- package/build/modal.js +38 -0
- package/build/model-class-require.js +13 -0
- package/build/model-events.js +30 -0
- package/build/model-name.js +28 -0
- package/build/model-prop-type.js +101 -0
- package/build/model-recipes-loader.js +32 -0
- package/build/model-recipes-model-loader.js +357 -0
- package/build/models-response-reader.js +40 -0
- package/build/models.js +8 -0
- package/build/money-formatter.js +78 -0
- package/build/not-loaded-error.js +2 -0
- package/build/params.js +61 -0
- package/build/preloaded.js +38 -0
- package/build/resize-observer.js +11 -0
- package/build/result.js +13 -0
- package/build/router/route.js +270 -0
- package/build/router/switch.js +72 -0
- package/build/router.js +59 -0
- package/build/routes-native.js +202 -0
- package/build/routes.js +50 -0
- package/build/run-last.js +35 -0
- package/build/serializer.js +63 -0
- package/build/services.js +20 -0
- package/build/session-status-updater.js +134 -0
- package/build/source-maps-loader.js +184 -0
- package/build/super-admin/config-reader.js +85 -0
- package/build/super-admin/edit-page/edit-attribute-checkbox.js +85 -0
- package/build/super-admin/edit-page/edit-attribute-content.js +55 -0
- package/build/super-admin/edit-page/edit-attribute-input.js +79 -0
- package/build/super-admin/edit-page/edit-attribute.js +77 -0
- package/build/super-admin/edit-page.js +123 -0
- package/build/super-admin/has-edit-config.js +12 -0
- package/build/super-admin/index-page.js +25 -0
- package/build/super-admin/index.js +181 -0
- package/build/super-admin/layout/header/index.js +161 -0
- package/build/super-admin/layout/index.js +164 -0
- package/build/super-admin/layout/menu/index.js +206 -0
- package/build/super-admin/layout/menu/menu-content.js +46 -0
- package/build/super-admin/layout/menu/menu-item.js +84 -0
- package/build/super-admin/layout/no-access.js +27 -0
- package/build/super-admin/model-class-table.js +61 -0
- package/build/super-admin/models.js +8 -0
- package/build/super-admin/show-nav.js +51 -0
- package/build/super-admin/show-page/belongs-to-attribute-row.js +29 -0
- package/build/super-admin/show-page/index.js +141 -0
- package/build/super-admin/show-reflection-actions.js +47 -0
- package/build/super-admin/show-reflection-link.js +48 -0
- package/build/super-admin/show-reflection-page.js +48 -0
- package/build/table/column-content.js +117 -0
- package/build/table/column-identifier.js +18 -0
- package/build/table/column-visible.js +7 -0
- package/build/table/components/column.js +21 -0
- package/build/table/components/flat-list.js +21 -0
- package/build/table/components/header.js +26 -0
- package/build/table/components/row.js +26 -0
- package/build/table/filters/attribute-element.js +44 -0
- package/build/table/filters/filter-form.js +402 -0
- package/build/table/filters/filter.js +90 -0
- package/build/table/filters/index.js +184 -0
- package/build/table/filters/load-search-modal.js +175 -0
- package/build/table/filters/reflection-element.js +37 -0
- package/build/table/filters/save-search-modal.js +88 -0
- package/build/table/filters/scope-element.js +42 -0
- package/build/table/header-column-content.js +68 -0
- package/build/table/header-column.js +144 -0
- package/build/table/header-select.js +105 -0
- package/build/table/model-callback-args.js +10 -0
- package/build/table/model-column.js +97 -0
- package/build/table/model-row.js +193 -0
- package/build/table/select-calculator.js +63 -0
- package/build/table/settings/column-row.js +97 -0
- package/build/table/settings/download-action.js +79 -0
- package/build/table/settings/index.js +92 -0
- package/build/table/table-settings.js +219 -0
- package/build/table/table.js +972 -0
- package/build/table/use-sorting.js +34 -0
- package/build/table/widths.js +75 -0
- package/build/table/worker-plugins-check-all-checkbox.js +125 -0
- package/build/table/worker-plugins-checkbox.js +115 -0
- package/build/translated-attributes.js +10 -0
- package/build/translated-collections.js +12 -0
- package/build/updated-attribute.js +76 -0
- package/build/url-encode.js +15 -0
- package/build/use-breakpoint.js +71 -0
- package/build/use-can-can.js +55 -0
- package/build/use-collection.js +225 -0
- package/build/use-created-event.js +52 -0
- package/build/use-current-user.js +76 -0
- package/build/use-destroyed-event.js +60 -0
- package/build/use-event-emitter.js +13 -0
- package/build/use-event-listener.js +16 -0
- package/build/use-input.js +137 -0
- package/build/use-model-event.js +60 -0
- package/build/use-model.js +169 -0
- package/build/use-resize-observer.js +23 -0
- package/build/use-router.js +104 -0
- package/build/use-screen-layout.js +39 -0
- package/build/use-styles.js +41 -0
- package/build/use-updated-event.js +60 -0
- package/build/use-validation-errors.js +30 -0
- package/build/utils/card.js +51 -0
- package/build/utils/checkbox.js +78 -0
- package/build/utils/checkboxes.js +163 -0
- package/build/utils/default-style.js +18 -0
- package/build/utils/icon.js +23 -0
- package/build/utils/invalid-feedback.js +19 -0
- package/build/utils/modal.js +62 -0
- package/build/utils/text.js +44 -0
- package/build/validation-error.js +28 -0
- package/build/validation-errors.js +98 -0
- package/build/with-api-maker.js +29 -0
- package/build/with-collection.js +14 -0
- package/build/with-current-user.js +10 -0
- package/build/with-model.js +15 -0
- package/build/with-router.js +22 -0
- package/expo-module.config.json +17 -0
- package/ios/ApiMaker.podspec +29 -0
- package/ios/ApiMakerModule.swift +48 -0
- package/ios/ApiMakerView.swift +38 -0
- package/package.json +49 -46
- package/src/{api.mjs → api.js} +38 -37
- package/src/base-component.jsx +5 -0
- package/src/{base-error.mjs → base-error.js} +4 -6
- package/src/base-model/attribute.js +33 -0
- package/src/base-model/column.js +13 -0
- package/src/base-model/reflection.js +15 -0
- package/src/base-model/scope.js +12 -0
- package/src/{base-model.mjs → base-model.js} +302 -144
- package/src/bootstrap/attribute-row.jsx +135 -0
- package/src/bootstrap/attribute-rows.jsx +27 -0
- package/src/bootstrap/card.jsx +149 -0
- package/src/bootstrap/checkbox.jsx +86 -0
- package/src/bootstrap/checkboxes.jsx +185 -0
- package/src/bootstrap/index.js +0 -0
- package/src/bootstrap/input.jsx +173 -0
- package/src/bootstrap/invalid-feedback.jsx +31 -0
- package/src/bootstrap/paginate.jsx +187 -0
- package/src/bootstrap/radio-buttons.jsx +87 -0
- package/src/bootstrap/select.jsx +110 -0
- package/src/bootstrap/sort-link.jsx +106 -0
- package/src/{cable-connection-pool.mjs → cable-connection-pool.js} +16 -36
- package/src/{cable-subscription-pool.mjs → cable-subscription-pool.js} +26 -21
- package/src/{cable-subscription.mjs → cable-subscription.js} +6 -4
- package/src/cache-key-generator.js +100 -0
- package/src/{can-can.mjs → can-can.js} +13 -12
- package/src/channels-consumer.js +10 -0
- package/src/collection-loader.jsx +58 -224
- package/src/{collection.mjs → collection.js} +98 -44
- package/src/{command-submit-data.mjs → command-submit-data.js} +2 -7
- package/src/{commands-pool.mjs → commands-pool.js} +57 -41
- package/src/compose.js +11 -0
- package/src/{config.mjs → config.js} +6 -2
- package/src/{custom-error.mjs → custom-error.js} +1 -1
- package/src/data-set-to-attributes.js +13 -0
- package/src/{deserializer.mjs → deserializer.js} +3 -3
- package/src/destroy-error.js +7 -0
- package/src/devise.js +129 -0
- package/src/draggable-sort/controller.js +137 -0
- package/src/draggable-sort/index.jsx +108 -0
- package/src/draggable-sort/item.jsx +174 -0
- package/src/{error-logger.mjs → error-logger.js} +12 -7
- package/src/{error-messages.mjs → error-messages.js} +1 -0
- package/src/event-connection.jsx +1 -1
- package/src/event-emitter-listener.jsx +8 -27
- package/src/event-model-class.jsx +2 -4
- package/src/events.js +7 -0
- package/src/flash-message.js +70 -0
- package/src/form.jsx +91 -0
- package/src/history-expo.js +23 -0
- package/src/history-react-native.js +25 -0
- package/src/history.js +3 -0
- package/src/index.js +3 -0
- package/src/inputs/attachment.jsx +108 -0
- package/src/inputs/auto-submit.js +37 -0
- package/src/inputs/checkbox.jsx +125 -0
- package/src/inputs/checkboxes.jsx +116 -0
- package/src/inputs/id-for-component.js +15 -0
- package/src/inputs/input-wrapper.jsx +16 -0
- package/src/inputs/input.jsx +260 -0
- package/src/inputs/money.jsx +187 -0
- package/src/inputs/name-for-component.js +15 -0
- package/src/inputs/select.jsx +104 -0
- package/src/is-expo.js +18 -0
- package/src/{key-value-store.mjs → key-value-store.js} +1 -1
- package/src/link.jsx +54 -9
- package/src/logger.js +38 -0
- package/src/modal.jsx +37 -0
- package/src/model-class-require.js +17 -0
- package/src/{model-events.mjs → model-events.js} +1 -1
- package/src/{model-name.mjs → model-name.js} +8 -8
- package/src/{model-recipes-loader.mjs → model-recipes-loader.js} +1 -1
- package/src/{model-recipes-model-loader.mjs → model-recipes-model-loader.js} +5 -5
- package/src/{models-response-reader.mjs → models-response-reader.js} +3 -4
- package/src/models.js +7 -0
- package/src/{models.mjs.erb → models.js.erb} +6 -3
- package/src/{money-formatter.mjs → money-formatter.js} +5 -4
- package/src/{params.mjs → params.js} +17 -7
- package/src/{preloaded.mjs → preloaded.js} +2 -2
- package/src/resize-observer.jsx +10 -0
- package/src/result.js +13 -0
- package/src/router/route.jsx +246 -0
- package/src/router/switch.jsx +76 -0
- package/src/router.jsx +23 -21
- package/src/{routes-native.mjs → routes-native.js} +12 -6
- package/src/{routes.mjs → routes.js} +1 -1
- package/src/run-last.js +39 -0
- package/src/{serializer.mjs → serializer.js} +2 -2
- package/src/{services.mjs → services.js} +1 -1
- package/src/session-status-updater.js +172 -0
- package/src/{source-maps-loader.mjs → source-maps-loader.js} +54 -28
- package/src/super-admin/config-reader.jsx +93 -0
- package/src/super-admin/edit-page/edit-attribute-checkbox.jsx +81 -0
- package/src/super-admin/edit-page/edit-attribute-content.jsx +57 -0
- package/src/super-admin/edit-page/edit-attribute-input.jsx +71 -0
- package/src/super-admin/edit-page/edit-attribute.jsx +81 -0
- package/src/super-admin/edit-page.jsx +117 -0
- package/src/super-admin/has-edit-config.js +15 -0
- package/src/super-admin/index-page.jsx +23 -0
- package/src/super-admin/index.jsx +197 -0
- package/src/super-admin/layout/header/index.jsx +144 -0
- package/src/super-admin/layout/header/style.scss +45 -0
- package/src/super-admin/layout/index.jsx +154 -0
- package/src/super-admin/layout/menu/index.jsx +171 -0
- package/src/super-admin/layout/menu/menu-content.jsx +43 -0
- package/src/super-admin/layout/menu/menu-item.jsx +70 -0
- package/src/super-admin/layout/menu/style.scss +11 -0
- package/src/super-admin/layout/no-access.jsx +26 -0
- package/src/super-admin/model-class-table.jsx +66 -0
- package/src/super-admin/models.js +11 -0
- package/src/super-admin/show-nav.jsx +44 -0
- package/src/super-admin/show-page/belongs-to-attribute-row.jsx +30 -0
- package/src/super-admin/show-page/index.jsx +141 -0
- package/src/super-admin/show-reflection-actions.jsx +49 -0
- package/src/super-admin/show-reflection-link.jsx +40 -0
- package/src/super-admin/show-reflection-page.jsx +47 -0
- package/src/super-admin/stylesheets/variables.scss +11 -0
- package/src/table/column-content.jsx +122 -0
- package/src/table/column-identifier.js +23 -0
- package/src/table/column-visible.js +7 -0
- package/src/table/components/column.jsx +19 -0
- package/src/table/components/flat-list.jsx +19 -0
- package/src/table/components/header.jsx +21 -0
- package/src/table/components/row.jsx +23 -0
- package/src/table/filters/attribute-element.jsx +47 -0
- package/src/table/filters/filter-form.jsx +407 -0
- package/src/table/filters/filter.jsx +70 -0
- package/src/table/filters/index.jsx +170 -0
- package/src/table/filters/load-search-modal.jsx +146 -0
- package/src/table/filters/reflection-element.jsx +38 -0
- package/src/table/filters/save-search-modal.jsx +74 -0
- package/src/table/filters/scope-element.jsx +44 -0
- package/src/table/header-column-content.jsx +55 -0
- package/src/table/header-column.jsx +129 -0
- package/src/table/header-select.jsx +73 -0
- package/src/table/model-callback-args.js +10 -0
- package/src/table/model-column.jsx +82 -0
- package/src/table/model-row.jsx +136 -0
- package/src/table/select-calculator.js +65 -0
- package/src/table/settings/column-row.jsx +93 -0
- package/src/table/settings/download-action.jsx +68 -0
- package/src/table/settings/index.jsx +65 -0
- package/src/table/table-settings.js +263 -0
- package/src/table/table.jsx +950 -0
- package/src/table/use-sorting.js +35 -0
- package/src/table/variables.scss +11 -0
- package/src/table/widths.jsx +87 -0
- package/src/table/worker-plugins-check-all-checkbox.jsx +112 -0
- package/src/table/worker-plugins-checkbox.jsx +104 -0
- package/src/translated-attributes.js +11 -0
- package/src/{translated-collections.mjs → translated-collections.js} +3 -2
- package/src/updated-attribute.jsx +1 -1
- package/src/url-encode.js +18 -0
- package/src/use-breakpoint.js +87 -0
- package/src/use-can-can.js +55 -0
- package/src/use-collection.js +280 -0
- package/src/use-created-event.js +55 -0
- package/src/use-current-user.js +88 -0
- package/src/use-destroyed-event.js +60 -0
- package/src/use-event-emitter.js +15 -0
- package/src/use-event-listener.js +19 -0
- package/src/use-input.js +157 -0
- package/src/use-model-event.js +60 -0
- package/src/use-model.js +189 -0
- package/src/use-resize-observer.js +24 -0
- package/src/use-router.jsx +128 -0
- package/src/use-screen-layout.js +49 -0
- package/src/use-styles.js +50 -0
- package/src/use-updated-event.js +60 -0
- package/src/use-validation-errors.js +33 -0
- package/src/utils/card.jsx +49 -0
- package/src/utils/checkbox.jsx +80 -0
- package/src/utils/checkboxes.jsx +158 -0
- package/src/utils/default-style.jsx +25 -0
- package/src/utils/icon.jsx +21 -0
- package/src/utils/invalid-feedback.jsx +20 -0
- package/src/utils/modal.jsx +60 -0
- package/src/utils/text.jsx +38 -0
- package/src/{validation-error.mjs → validation-error.js} +9 -5
- package/src/{validation-errors.mjs → validation-errors.js} +15 -27
- package/src/with-api-maker.jsx +31 -0
- package/src/with-collection.jsx +17 -0
- package/src/with-current-user.jsx +7 -25
- package/src/with-model.jsx +16 -0
- package/src/with-router.jsx +7 -129
- package/__tests__/base-model.test.js +0 -71
- package/__tests__/cable-connection-pool.test.js +0 -227
- package/__tests__/cable-subscription-pool.test.js +0 -26
- package/__tests__/can-can.test.js +0 -34
- package/__tests__/collection.test.js +0 -51
- package/__tests__/custom-error.test.js +0 -13
- package/__tests__/model-name.test.js +0 -34
- package/__tests__/model-prop-type.test.js +0 -113
- package/__tests__/params.test.js +0 -40
- package/__tests__/routes-native.test.js +0 -103
- package/__tests__/routes.test.js +0 -46
- package/__tests__/serializer.test.js +0 -30
- package/__tests__/support/task.js +0 -27
- package/__tests__/support/user.js +0 -32
- package/index.js +0 -1
- package/jest.config.js +0 -4
- package/src/can-can-loader.jsx +0 -54
- package/src/channels-consumer.mjs +0 -3
- package/src/destroy-error.mjs +0 -7
- package/src/devise.mjs +0 -122
- package/src/event-created.jsx +0 -65
- package/src/event-destroyed.jsx +0 -29
- package/src/event-listener.jsx +0 -38
- package/src/event-updated.jsx +0 -74
- package/src/logger.mjs +0 -25
- package/src/model-class-require.mjs +0 -10
- package/src/model-load-wrapper.jsx +0 -116
- package/src/result.mjs +0 -29
- package/src/session-status-updater.mjs +0 -116
- package/webpack.config.js +0 -15
- /package/src/{attribute-not-loaded-error.mjs → attribute-not-loaded-error.js} +0 -0
- /package/src/{instance-of-class-name.mjs → instance-of-class-name.js} +0 -0
- /package/src/{model-prop-type.mjs → model-prop-type.js} +0 -0
- /package/src/{not-loaded-error.mjs → not-loaded-error.js} +0 -0
- /package/src/{translated-collections-data.mjs.erb → translated-collections-data.js.erb} +0 -0
package/build/is-expo.js
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { digg, digs } from "diggerize";
|
|
2
|
+
let isExpo = false;
|
|
3
|
+
try {
|
|
4
|
+
const REQUIRE_TERMINATOR = "";
|
|
5
|
+
const Constants = require(`expo-constants${REQUIRE_TERMINATOR}`);
|
|
6
|
+
const executionEnvironment = digg(Constants, "default", "executionEnvironment");
|
|
7
|
+
const {
|
|
8
|
+
ExecutionEnvironment
|
|
9
|
+
} = digs(Constants, "ExecutionEnvironment");
|
|
10
|
+
const {
|
|
11
|
+
Bare,
|
|
12
|
+
Standalone,
|
|
13
|
+
StoreClient
|
|
14
|
+
} = digs(ExecutionEnvironment, "Bare", "Standalone", "StoreClient");
|
|
15
|
+
|
|
16
|
+
// True if the app is running in an `expo build` app or if it's running in Expo Go.
|
|
17
|
+
isExpo = executionEnvironment === Bare || executionEnvironment === Standalone || executionEnvironment === StoreClient;
|
|
18
|
+
} catch (error) {
|
|
19
|
+
// Do nothing - failed to require expo-constants
|
|
20
|
+
}
|
|
21
|
+
export default isExpo;
|
|
22
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJkaWdnIiwiZGlncyIsImlzRXhwbyIsIlJFUVVJUkVfVEVSTUlOQVRPUiIsIkNvbnN0YW50cyIsInJlcXVpcmUiLCJleGVjdXRpb25FbnZpcm9ubWVudCIsIkV4ZWN1dGlvbkVudmlyb25tZW50IiwiQmFyZSIsIlN0YW5kYWxvbmUiLCJTdG9yZUNsaWVudCIsImVycm9yIl0sInNvdXJjZXMiOlsiLi4vc3JjL2lzLWV4cG8uanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtkaWdnLCBkaWdzfSBmcm9tIFwiZGlnZ2VyaXplXCJcblxubGV0IGlzRXhwbyA9IGZhbHNlXG5cbnRyeSB7XG4gIGNvbnN0IFJFUVVJUkVfVEVSTUlOQVRPUiA9IFwiXCJcbiAgY29uc3QgQ29uc3RhbnRzID0gcmVxdWlyZShgZXhwby1jb25zdGFudHMke1JFUVVJUkVfVEVSTUlOQVRPUn1gKVxuICBjb25zdCBleGVjdXRpb25FbnZpcm9ubWVudCA9IGRpZ2coQ29uc3RhbnRzLCBcImRlZmF1bHRcIiwgXCJleGVjdXRpb25FbnZpcm9ubWVudFwiKVxuICBjb25zdCB7RXhlY3V0aW9uRW52aXJvbm1lbnR9ID0gZGlncyhDb25zdGFudHMsIFwiRXhlY3V0aW9uRW52aXJvbm1lbnRcIilcbiAgY29uc3Qge0JhcmUsIFN0YW5kYWxvbmUsIFN0b3JlQ2xpZW50fSA9IGRpZ3MoRXhlY3V0aW9uRW52aXJvbm1lbnQsIFwiQmFyZVwiLCBcIlN0YW5kYWxvbmVcIiwgXCJTdG9yZUNsaWVudFwiKVxuXG4gIC8vIFRydWUgaWYgdGhlIGFwcCBpcyBydW5uaW5nIGluIGFuIGBleHBvIGJ1aWxkYCBhcHAgb3IgaWYgaXQncyBydW5uaW5nIGluIEV4cG8gR28uXG4gIGlzRXhwbyA9IGV4ZWN1dGlvbkVudmlyb25tZW50ID09PSBCYXJlIHx8IGV4ZWN1dGlvbkVudmlyb25tZW50ID09PSBTdGFuZGFsb25lIHx8IGV4ZWN1dGlvbkVudmlyb25tZW50ID09PSBTdG9yZUNsaWVudFxufSBjYXRjaCAoZXJyb3IpIHtcbiAgLy8gRG8gbm90aGluZyAtIGZhaWxlZCB0byByZXF1aXJlIGV4cG8tY29uc3RhbnRzXG59XG5cbmV4cG9ydCBkZWZhdWx0IGlzRXhwb1xuIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFRQSxJQUFJLEVBQUVDLElBQUksUUFBTyxXQUFXO0FBRXBDLElBQUlDLE1BQU0sR0FBRyxLQUFLO0FBRWxCLElBQUk7RUFDRixNQUFNQyxrQkFBa0IsR0FBRyxFQUFFO0VBQzdCLE1BQU1DLFNBQVMsR0FBR0MsT0FBTyxDQUFDLGlCQUFpQkYsa0JBQWtCLEVBQUUsQ0FBQztFQUNoRSxNQUFNRyxvQkFBb0IsR0FBR04sSUFBSSxDQUFDSSxTQUFTLEVBQUUsU0FBUyxFQUFFLHNCQUFzQixDQUFDO0VBQy9FLE1BQU07SUFBQ0c7RUFBb0IsQ0FBQyxHQUFHTixJQUFJLENBQUNHLFNBQVMsRUFBRSxzQkFBc0IsQ0FBQztFQUN0RSxNQUFNO0lBQUNJLElBQUk7SUFBRUMsVUFBVTtJQUFFQztFQUFXLENBQUMsR0FBR1QsSUFBSSxDQUFDTSxvQkFBb0IsRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLGFBQWEsQ0FBQzs7RUFFdkc7RUFDQUwsTUFBTSxHQUFHSSxvQkFBb0IsS0FBS0UsSUFBSSxJQUFJRixvQkFBb0IsS0FBS0csVUFBVSxJQUFJSCxvQkFBb0IsS0FBS0ksV0FBVztBQUN2SCxDQUFDLENBQUMsT0FBT0MsS0FBSyxFQUFFO0VBQ2Q7QUFBQTtBQUdGLGVBQWVULE1BQU0iLCJpZ25vcmVMaXN0IjpbXX0=
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import Params from "./params";
|
|
2
|
+
const shared = {};
|
|
3
|
+
export default class KeyValueStore {
|
|
4
|
+
static current() {
|
|
5
|
+
if (!shared.currentKeyValueStore) shared.currentKeyValueStore = new KeyValueStore();
|
|
6
|
+
return shared.currentKeyValueStore;
|
|
7
|
+
}
|
|
8
|
+
static get(key) {
|
|
9
|
+
return KeyValueStore.current().get(key);
|
|
10
|
+
}
|
|
11
|
+
static set(key, value) {
|
|
12
|
+
return KeyValueStore.current().set(key, value);
|
|
13
|
+
}
|
|
14
|
+
static async getCachedParams(paramName, args = {}) {
|
|
15
|
+
const oldQuery = await KeyValueStore.get(paramName);
|
|
16
|
+
const params = Params.parse();
|
|
17
|
+
if (params && paramName in params) {
|
|
18
|
+
return params[paramName];
|
|
19
|
+
} else if (oldQuery) {
|
|
20
|
+
return oldQuery;
|
|
21
|
+
} else {
|
|
22
|
+
return args.default || {};
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
static setCachedParams(paramName, qParams) {
|
|
26
|
+
return KeyValueStore.set(paramName, qParams);
|
|
27
|
+
}
|
|
28
|
+
constructor() {
|
|
29
|
+
this.database = new Dexie("KeyValueStoreDatabase");
|
|
30
|
+
this.database.version(1).stores({
|
|
31
|
+
keyValues: "++id, key, value"
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
async get(key) {
|
|
35
|
+
const row = await this.database.keyValues.where("key").equals(key).first();
|
|
36
|
+
if (row) return row.value;
|
|
37
|
+
}
|
|
38
|
+
async set(key, value) {
|
|
39
|
+
const row = await this.database.keyValues.where("key").equals(key).first();
|
|
40
|
+
if (row) {
|
|
41
|
+
await this.database.keyValues.update(row.id, {
|
|
42
|
+
value
|
|
43
|
+
});
|
|
44
|
+
} else {
|
|
45
|
+
await this.database.keyValues.add({
|
|
46
|
+
key,
|
|
47
|
+
value
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
return true;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJQYXJhbXMiLCJzaGFyZWQiLCJLZXlWYWx1ZVN0b3JlIiwiY3VycmVudCIsImN1cnJlbnRLZXlWYWx1ZVN0b3JlIiwiZ2V0Iiwia2V5Iiwic2V0IiwidmFsdWUiLCJnZXRDYWNoZWRQYXJhbXMiLCJwYXJhbU5hbWUiLCJhcmdzIiwib2xkUXVlcnkiLCJwYXJhbXMiLCJwYXJzZSIsImRlZmF1bHQiLCJzZXRDYWNoZWRQYXJhbXMiLCJxUGFyYW1zIiwiY29uc3RydWN0b3IiLCJkYXRhYmFzZSIsIkRleGllIiwidmVyc2lvbiIsInN0b3JlcyIsImtleVZhbHVlcyIsInJvdyIsIndoZXJlIiwiZXF1YWxzIiwiZmlyc3QiLCJ1cGRhdGUiLCJpZCIsImFkZCJdLCJzb3VyY2VzIjpbIi4uL3NyYy9rZXktdmFsdWUtc3RvcmUuanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFBhcmFtcyBmcm9tIFwiLi9wYXJhbXNcIlxuXG5jb25zdCBzaGFyZWQgPSB7fVxuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBLZXlWYWx1ZVN0b3JlIHtcbiAgc3RhdGljIGN1cnJlbnQgKCkge1xuICAgIGlmICghc2hhcmVkLmN1cnJlbnRLZXlWYWx1ZVN0b3JlKSBzaGFyZWQuY3VycmVudEtleVZhbHVlU3RvcmUgPSBuZXcgS2V5VmFsdWVTdG9yZSgpXG5cbiAgICByZXR1cm4gc2hhcmVkLmN1cnJlbnRLZXlWYWx1ZVN0b3JlXG4gIH1cblxuICBzdGF0aWMgZ2V0IChrZXkpIHtcbiAgICByZXR1cm4gS2V5VmFsdWVTdG9yZS5jdXJyZW50KCkuZ2V0KGtleSlcbiAgfVxuXG4gIHN0YXRpYyBzZXQgKGtleSwgdmFsdWUpIHtcbiAgICByZXR1cm4gS2V5VmFsdWVTdG9yZS5jdXJyZW50KCkuc2V0KGtleSwgdmFsdWUpXG4gIH1cblxuICBzdGF0aWMgYXN5bmMgZ2V0Q2FjaGVkUGFyYW1zIChwYXJhbU5hbWUsIGFyZ3MgPSB7fSkge1xuICAgIGNvbnN0IG9sZFF1ZXJ5ID0gYXdhaXQgS2V5VmFsdWVTdG9yZS5nZXQocGFyYW1OYW1lKVxuICAgIGNvbnN0IHBhcmFtcyA9IFBhcmFtcy5wYXJzZSgpXG5cbiAgICBpZiAocGFyYW1zICYmIHBhcmFtTmFtZSBpbiBwYXJhbXMpIHtcbiAgICAgIHJldHVybiBwYXJhbXNbcGFyYW1OYW1lXVxuICAgIH0gZWxzZSBpZiAob2xkUXVlcnkpIHtcbiAgICAgIHJldHVybiBvbGRRdWVyeVxuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gYXJncy5kZWZhdWx0IHx8IHt9XG4gICAgfVxuICB9XG5cbiAgc3RhdGljIHNldENhY2hlZFBhcmFtcyAocGFyYW1OYW1lLCBxUGFyYW1zKSB7XG4gICAgcmV0dXJuIEtleVZhbHVlU3RvcmUuc2V0KHBhcmFtTmFtZSwgcVBhcmFtcylcbiAgfVxuXG4gIGNvbnN0cnVjdG9yICgpIHtcbiAgICB0aGlzLmRhdGFiYXNlID0gbmV3IERleGllKFwiS2V5VmFsdWVTdG9yZURhdGFiYXNlXCIpXG4gICAgdGhpcy5kYXRhYmFzZS52ZXJzaW9uKDEpLnN0b3Jlcyh7XG4gICAgICBrZXlWYWx1ZXM6IFwiKytpZCwga2V5LCB2YWx1ZVwiXG4gICAgfSlcbiAgfVxuXG4gIGFzeW5jIGdldCAoa2V5KSB7XG4gICAgY29uc3Qgcm93ID0gYXdhaXQgdGhpcy5kYXRhYmFzZS5rZXlWYWx1ZXNcbiAgICAgIC53aGVyZShcImtleVwiKVxuICAgICAgLmVxdWFscyhrZXkpXG4gICAgICAuZmlyc3QoKVxuXG4gICAgaWYgKHJvdylcbiAgICAgIHJldHVybiByb3cudmFsdWVcbiAgfVxuXG4gIGFzeW5jIHNldCAoa2V5LCB2YWx1ZSkge1xuICAgIGNvbnN0IHJvdyA9IGF3YWl0IHRoaXMuZGF0YWJhc2Uua2V5VmFsdWVzXG4gICAgICAud2hlcmUoXCJrZXlcIilcbiAgICAgIC5lcXVhbHMoa2V5KVxuICAgICAgLmZpcnN0KClcblxuICAgIGlmIChyb3cpIHtcbiAgICAgIGF3YWl0IHRoaXMuZGF0YWJhc2Uua2V5VmFsdWVzLnVwZGF0ZShyb3cuaWQsIHt2YWx1ZX0pXG4gICAgfSBlbHNlIHtcbiAgICAgIGF3YWl0IHRoaXMuZGF0YWJhc2Uua2V5VmFsdWVzLmFkZCh7a2V5LCB2YWx1ZX0pXG4gICAgfVxuXG4gICAgcmV0dXJuIHRydWVcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiQUFBQSxPQUFPQSxNQUFNLE1BQU0sVUFBVTtBQUU3QixNQUFNQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO0FBRWpCLGVBQWUsTUFBTUMsYUFBYSxDQUFDO0VBQ2pDLE9BQU9DLE9BQU9BLENBQUEsRUFBSTtJQUNoQixJQUFJLENBQUNGLE1BQU0sQ0FBQ0csb0JBQW9CLEVBQUVILE1BQU0sQ0FBQ0csb0JBQW9CLEdBQUcsSUFBSUYsYUFBYSxDQUFDLENBQUM7SUFFbkYsT0FBT0QsTUFBTSxDQUFDRyxvQkFBb0I7RUFDcEM7RUFFQSxPQUFPQyxHQUFHQSxDQUFFQyxHQUFHLEVBQUU7SUFDZixPQUFPSixhQUFhLENBQUNDLE9BQU8sQ0FBQyxDQUFDLENBQUNFLEdBQUcsQ0FBQ0MsR0FBRyxDQUFDO0VBQ3pDO0VBRUEsT0FBT0MsR0FBR0EsQ0FBRUQsR0FBRyxFQUFFRSxLQUFLLEVBQUU7SUFDdEIsT0FBT04sYUFBYSxDQUFDQyxPQUFPLENBQUMsQ0FBQyxDQUFDSSxHQUFHLENBQUNELEdBQUcsRUFBRUUsS0FBSyxDQUFDO0VBQ2hEO0VBRUEsYUFBYUMsZUFBZUEsQ0FBRUMsU0FBUyxFQUFFQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLEVBQUU7SUFDbEQsTUFBTUMsUUFBUSxHQUFHLE1BQU1WLGFBQWEsQ0FBQ0csR0FBRyxDQUFDSyxTQUFTLENBQUM7SUFDbkQsTUFBTUcsTUFBTSxHQUFHYixNQUFNLENBQUNjLEtBQUssQ0FBQyxDQUFDO0lBRTdCLElBQUlELE1BQU0sSUFBSUgsU0FBUyxJQUFJRyxNQUFNLEVBQUU7TUFDakMsT0FBT0EsTUFBTSxDQUFDSCxTQUFTLENBQUM7SUFDMUIsQ0FBQyxNQUFNLElBQUlFLFFBQVEsRUFBRTtNQUNuQixPQUFPQSxRQUFRO0lBQ2pCLENBQUMsTUFBTTtNQUNMLE9BQU9ELElBQUksQ0FBQ0ksT0FBTyxJQUFJLENBQUMsQ0FBQztJQUMzQjtFQUNGO0VBRUEsT0FBT0MsZUFBZUEsQ0FBRU4sU0FBUyxFQUFFTyxPQUFPLEVBQUU7SUFDMUMsT0FBT2YsYUFBYSxDQUFDSyxHQUFHLENBQUNHLFNBQVMsRUFBRU8sT0FBTyxDQUFDO0VBQzlDO0VBRUFDLFdBQVdBLENBQUEsRUFBSTtJQUNiLElBQUksQ0FBQ0MsUUFBUSxHQUFHLElBQUlDLEtBQUssQ0FBQyx1QkFBdUIsQ0FBQztJQUNsRCxJQUFJLENBQUNELFFBQVEsQ0FBQ0UsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDQyxNQUFNLENBQUM7TUFDOUJDLFNBQVMsRUFBRTtJQUNiLENBQUMsQ0FBQztFQUNKO0VBRUEsTUFBTWxCLEdBQUdBLENBQUVDLEdBQUcsRUFBRTtJQUNkLE1BQU1rQixHQUFHLEdBQUcsTUFBTSxJQUFJLENBQUNMLFFBQVEsQ0FBQ0ksU0FBUyxDQUN0Q0UsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUNaQyxNQUFNLENBQUNwQixHQUFHLENBQUMsQ0FDWHFCLEtBQUssQ0FBQyxDQUFDO0lBRVYsSUFBSUgsR0FBRyxFQUNMLE9BQU9BLEdBQUcsQ0FBQ2hCLEtBQUs7RUFDcEI7RUFFQSxNQUFNRCxHQUFHQSxDQUFFRCxHQUFHLEVBQUVFLEtBQUssRUFBRTtJQUNyQixNQUFNZ0IsR0FBRyxHQUFHLE1BQU0sSUFBSSxDQUFDTCxRQUFRLENBQUNJLFNBQVMsQ0FDdENFLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FDWkMsTUFBTSxDQUFDcEIsR0FBRyxDQUFDLENBQ1hxQixLQUFLLENBQUMsQ0FBQztJQUVWLElBQUlILEdBQUcsRUFBRTtNQUNQLE1BQU0sSUFBSSxDQUFDTCxRQUFRLENBQUNJLFNBQVMsQ0FBQ0ssTUFBTSxDQUFDSixHQUFHLENBQUNLLEVBQUUsRUFBRTtRQUFDckI7TUFBSyxDQUFDLENBQUM7SUFDdkQsQ0FBQyxNQUFNO01BQ0wsTUFBTSxJQUFJLENBQUNXLFFBQVEsQ0FBQ0ksU0FBUyxDQUFDTyxHQUFHLENBQUM7UUFBQ3hCLEdBQUc7UUFBRUU7TUFBSyxDQUFDLENBQUM7SUFDakQ7SUFFQSxPQUFPLElBQUk7RUFDYjtBQUNGIiwiaWdub3JlTGlzdCI6W119
|
package/build/link.js
ADDED
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
2
|
+
import { Platform, Pressable } from "react-native";
|
|
3
|
+
import BaseComponent from "./base-component";
|
|
4
|
+
import dataSetToAttributes from "./data-set-to-attributes";
|
|
5
|
+
import memo from "set-state-compare/src/memo";
|
|
6
|
+
import PropTypes from "prop-types";
|
|
7
|
+
import React from "react";
|
|
8
|
+
import { shapeComponent } from "set-state-compare/src/shape-component";
|
|
9
|
+
import { useApiMaker } from "@kaspernj/api-maker/build/with-api-maker";
|
|
10
|
+
export default memo(shapeComponent(class ApiMakerLink extends BaseComponent {
|
|
11
|
+
static propTypes = {
|
|
12
|
+
usePressable: PropTypes.bool
|
|
13
|
+
};
|
|
14
|
+
setup() {
|
|
15
|
+
this.apiMaker = useApiMaker();
|
|
16
|
+
}
|
|
17
|
+
render() {
|
|
18
|
+
const {
|
|
19
|
+
dataSet,
|
|
20
|
+
to,
|
|
21
|
+
onClick,
|
|
22
|
+
onPress,
|
|
23
|
+
usePressable,
|
|
24
|
+
...restProps
|
|
25
|
+
} = this.props;
|
|
26
|
+
if (Platform.OS == "web" && !usePressable) {
|
|
27
|
+
return /*#__PURE__*/React.createElement("a", _extends({}, dataSetToAttributes(dataSet), {
|
|
28
|
+
href: to
|
|
29
|
+
}, restProps, {
|
|
30
|
+
onClick: this.tt.onLinkClicked
|
|
31
|
+
}));
|
|
32
|
+
}
|
|
33
|
+
return /*#__PURE__*/React.createElement(Pressable, _extends({
|
|
34
|
+
dataSet: dataSet,
|
|
35
|
+
onPress: this.tt.onPress
|
|
36
|
+
}, restProps));
|
|
37
|
+
}
|
|
38
|
+
onLinkClicked = (e, ...restArgs) => {
|
|
39
|
+
const {
|
|
40
|
+
onClick,
|
|
41
|
+
onPress
|
|
42
|
+
} = this.props;
|
|
43
|
+
if (onClick) {
|
|
44
|
+
onClick(e, ...restArgs);
|
|
45
|
+
}
|
|
46
|
+
if (onPress) {
|
|
47
|
+
onPress(e, ...restArgs);
|
|
48
|
+
}
|
|
49
|
+
if (!e.defaultPrevented && !e.ctrlKey && !e.metaKey) {
|
|
50
|
+
e.preventDefault();
|
|
51
|
+
this.redirect();
|
|
52
|
+
}
|
|
53
|
+
};
|
|
54
|
+
onPress = () => {
|
|
55
|
+
const {
|
|
56
|
+
onClick,
|
|
57
|
+
onPress
|
|
58
|
+
} = this.props;
|
|
59
|
+
if (onClick) {
|
|
60
|
+
onClick(e, ...restArgs);
|
|
61
|
+
}
|
|
62
|
+
if (onPress) {
|
|
63
|
+
onPress(e, ...restArgs);
|
|
64
|
+
}
|
|
65
|
+
this.redirect();
|
|
66
|
+
};
|
|
67
|
+
redirect = () => {
|
|
68
|
+
const history = this.apiMaker.config.getHistory();
|
|
69
|
+
if (!history) throw new Error("History hasn't been set in the API maker configuration");
|
|
70
|
+
history.push(this.props.to);
|
|
71
|
+
};
|
|
72
|
+
}));
|
|
73
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJQbGF0Zm9ybSIsIlByZXNzYWJsZSIsIkJhc2VDb21wb25lbnQiLCJkYXRhU2V0VG9BdHRyaWJ1dGVzIiwibWVtbyIsIlByb3BUeXBlcyIsIlJlYWN0Iiwic2hhcGVDb21wb25lbnQiLCJ1c2VBcGlNYWtlciIsIkFwaU1ha2VyTGluayIsInByb3BUeXBlcyIsInVzZVByZXNzYWJsZSIsImJvb2wiLCJzZXR1cCIsImFwaU1ha2VyIiwicmVuZGVyIiwiZGF0YVNldCIsInRvIiwib25DbGljayIsIm9uUHJlc3MiLCJyZXN0UHJvcHMiLCJwcm9wcyIsIk9TIiwiY3JlYXRlRWxlbWVudCIsIl9leHRlbmRzIiwiaHJlZiIsInR0Iiwib25MaW5rQ2xpY2tlZCIsImUiLCJyZXN0QXJncyIsImRlZmF1bHRQcmV2ZW50ZWQiLCJjdHJsS2V5IiwibWV0YUtleSIsInByZXZlbnREZWZhdWx0IiwicmVkaXJlY3QiLCJoaXN0b3J5IiwiY29uZmlnIiwiZ2V0SGlzdG9yeSIsIkVycm9yIiwicHVzaCJdLCJzb3VyY2VzIjpbIi4uL3NyYy9saW5rLmpzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1BsYXRmb3JtLCBQcmVzc2FibGV9IGZyb20gXCJyZWFjdC1uYXRpdmVcIlxuaW1wb3J0IEJhc2VDb21wb25lbnQgZnJvbSBcIi4vYmFzZS1jb21wb25lbnRcIlxuaW1wb3J0IGRhdGFTZXRUb0F0dHJpYnV0ZXMgZnJvbSBcIi4vZGF0YS1zZXQtdG8tYXR0cmlidXRlc1wiXG5pbXBvcnQgbWVtbyBmcm9tIFwic2V0LXN0YXRlLWNvbXBhcmUvc3JjL21lbW9cIlxuaW1wb3J0IFByb3BUeXBlcyBmcm9tIFwicHJvcC10eXBlc1wiXG5pbXBvcnQgUmVhY3QgZnJvbSBcInJlYWN0XCJcbmltcG9ydCB7c2hhcGVDb21wb25lbnR9IGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9zcmMvc2hhcGUtY29tcG9uZW50XCJcbmltcG9ydCB7dXNlQXBpTWFrZXJ9IGZyb20gXCJAa2FzcGVybmovYXBpLW1ha2VyL2J1aWxkL3dpdGgtYXBpLW1ha2VyXCJcblxuZXhwb3J0IGRlZmF1bHQgbWVtbyhzaGFwZUNvbXBvbmVudChjbGFzcyBBcGlNYWtlckxpbmsgZXh0ZW5kcyBCYXNlQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICB1c2VQcmVzc2FibGU6IFByb3BUeXBlcy5ib29sXG4gIH1cblxuICBzZXR1cCgpIHtcbiAgICB0aGlzLmFwaU1ha2VyID0gdXNlQXBpTWFrZXIoKVxuICB9XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHtkYXRhU2V0LCB0bywgb25DbGljaywgb25QcmVzcywgdXNlUHJlc3NhYmxlLCAuLi5yZXN0UHJvcHN9ID0gdGhpcy5wcm9wc1xuXG4gICAgaWYgKFBsYXRmb3JtLk9TID09IFwid2ViXCIgJiYgIXVzZVByZXNzYWJsZSkge1xuICAgICAgcmV0dXJuIChcbiAgICAgICAgPGEgey4uLmRhdGFTZXRUb0F0dHJpYnV0ZXMoZGF0YVNldCl9IGhyZWY9e3RvfSB7Li4ucmVzdFByb3BzfSBvbkNsaWNrPXt0aGlzLnR0Lm9uTGlua0NsaWNrZWR9IC8+XG4gICAgICApXG4gICAgfVxuXG4gICAgcmV0dXJuIChcbiAgICAgIDxQcmVzc2FibGUgZGF0YVNldD17ZGF0YVNldH0gb25QcmVzcz17dGhpcy50dC5vblByZXNzfSB7Li4ucmVzdFByb3BzfSAvPlxuICAgIClcbiAgfVxuXG4gIG9uTGlua0NsaWNrZWQgPSAoZSwgLi4ucmVzdEFyZ3MpID0+IHtcbiAgICBjb25zdCB7b25DbGljaywgb25QcmVzc30gPSB0aGlzLnByb3BzXG5cbiAgICBpZiAob25DbGljaykge1xuICAgICAgb25DbGljayhlLCAuLi5yZXN0QXJncylcbiAgICB9XG5cbiAgICBpZiAob25QcmVzcykge1xuICAgICAgb25QcmVzcyhlLCAuLi5yZXN0QXJncylcbiAgICB9XG5cbiAgICBpZiAoIWUuZGVmYXVsdFByZXZlbnRlZCAmJiAhZS5jdHJsS2V5ICYmICFlLm1ldGFLZXkpIHtcbiAgICAgIGUucHJldmVudERlZmF1bHQoKVxuXG4gICAgICB0aGlzLnJlZGlyZWN0KClcbiAgICB9XG4gIH1cblxuICBvblByZXNzID0gKCkgPT4ge1xuICAgIGNvbnN0IHtvbkNsaWNrLCBvblByZXNzfSA9IHRoaXMucHJvcHNcblxuICAgIGlmIChvbkNsaWNrKSB7XG4gICAgICBvbkNsaWNrKGUsIC4uLnJlc3RBcmdzKVxuICAgIH1cblxuICAgIGlmIChvblByZXNzKSB7XG4gICAgICBvblByZXNzKGUsIC4uLnJlc3RBcmdzKVxuICAgIH1cblxuICAgIHRoaXMucmVkaXJlY3QoKVxuICB9XG5cbiAgcmVkaXJlY3QgPSAoKSA9PiB7XG4gICAgY29uc3QgaGlzdG9yeSA9IHRoaXMuYXBpTWFrZXIuY29uZmlnLmdldEhpc3RvcnkoKVxuXG4gICAgaWYgKCFoaXN0b3J5KSB0aHJvdyBuZXcgRXJyb3IoXCJIaXN0b3J5IGhhc24ndCBiZWVuIHNldCBpbiB0aGUgQVBJIG1ha2VyIGNvbmZpZ3VyYXRpb25cIilcblxuICAgIGhpc3RvcnkucHVzaCh0aGlzLnByb3BzLnRvKVxuICB9XG59KSlcbiJdLCJtYXBwaW5ncyI6IjtBQUFBLFNBQVFBLFFBQVEsRUFBRUMsU0FBUyxRQUFPLGNBQWM7QUFDaEQsT0FBT0MsYUFBYSxNQUFNLGtCQUFrQjtBQUM1QyxPQUFPQyxtQkFBbUIsTUFBTSwwQkFBMEI7QUFDMUQsT0FBT0MsSUFBSSxNQUFNLDRCQUE0QjtBQUM3QyxPQUFPQyxTQUFTLE1BQU0sWUFBWTtBQUNsQyxPQUFPQyxLQUFLLE1BQU0sT0FBTztBQUN6QixTQUFRQyxjQUFjLFFBQU8sdUNBQXVDO0FBQ3BFLFNBQVFDLFdBQVcsUUFBTywwQ0FBMEM7QUFFcEUsZUFBZUosSUFBSSxDQUFDRyxjQUFjLENBQUMsTUFBTUUsWUFBWSxTQUFTUCxhQUFhLENBQUM7RUFDMUUsT0FBT1EsU0FBUyxHQUFHO0lBQ2pCQyxZQUFZLEVBQUVOLFNBQVMsQ0FBQ087RUFDMUIsQ0FBQztFQUVEQyxLQUFLQSxDQUFBLEVBQUc7SUFD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
|
package/build/logger.js
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
const shared = {};
|
|
2
|
+
export default class ApiMakerLogger {
|
|
3
|
+
static getGlobalDebug = () => shared.isDebugging;
|
|
4
|
+
static setGlobalDebug(newValue) {
|
|
5
|
+
shared.isDebugging = newValue;
|
|
6
|
+
}
|
|
7
|
+
constructor(args = {}) {
|
|
8
|
+
this.name = args.name;
|
|
9
|
+
}
|
|
10
|
+
debug(message) {
|
|
11
|
+
if (this.getDebug()) {
|
|
12
|
+
this.log(message);
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
error(message) {
|
|
16
|
+
console.error(message);
|
|
17
|
+
}
|
|
18
|
+
log(message) {
|
|
19
|
+
if (!this.debug && !ApiMakerLogger.getGlobalDebug()) return;
|
|
20
|
+
if (typeof message == "function") message = message();
|
|
21
|
+
if (!Array.isArray(message)) message = [message];
|
|
22
|
+
if (this.name) message.unshift(`${this.name}:`);
|
|
23
|
+
console.log(...message);
|
|
24
|
+
}
|
|
25
|
+
getDebug = () => this.isDebugging;
|
|
26
|
+
setDebug(value) {
|
|
27
|
+
this.isDebugging = value;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzaGFyZWQiLCJBcGlNYWtlckxvZ2dlciIsImdldEdsb2JhbERlYnVnIiwiaXNEZWJ1Z2dpbmciLCJzZXRHbG9iYWxEZWJ1ZyIsIm5ld1ZhbHVlIiwiY29uc3RydWN0b3IiLCJhcmdzIiwibmFtZSIsImRlYnVnIiwibWVzc2FnZSIsImdldERlYnVnIiwibG9nIiwiZXJyb3IiLCJjb25zb2xlIiwiQXJyYXkiLCJpc0FycmF5IiwidW5zaGlmdCIsInNldERlYnVnIiwidmFsdWUiXSwic291cmNlcyI6WyIuLi9zcmMvbG9nZ2VyLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImNvbnN0IHNoYXJlZCA9IHt9XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEFwaU1ha2VyTG9nZ2VyIHtcbiAgc3RhdGljIGdldEdsb2JhbERlYnVnID0gKCkgPT4gc2hhcmVkLmlzRGVidWdnaW5nXG5cbiAgc3RhdGljIHNldEdsb2JhbERlYnVnKG5ld1ZhbHVlKSB7XG4gICAgc2hhcmVkLmlzRGVidWdnaW5nID0gbmV3VmFsdWVcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKGFyZ3MgPSB7fSkge1xuICAgIHRoaXMubmFtZSA9IGFyZ3MubmFtZVxuICB9XG5cbiAgZGVidWcobWVzc2FnZSkge1xuICAgIGlmICh0aGlzLmdldERlYnVnKCkpIHtcbiAgICAgIHRoaXMubG9nKG1lc3NhZ2UpXG4gICAgfVxuICB9XG5cbiAgZXJyb3IobWVzc2FnZSkge1xuICAgIGNvbnNvbGUuZXJyb3IobWVzc2FnZSlcbiAgfVxuXG4gIGxvZyhtZXNzYWdlKSB7XG4gICAgaWYgKCF0aGlzLmRlYnVnICYmICFBcGlNYWtlckxvZ2dlci5nZXRHbG9iYWxEZWJ1ZygpKSByZXR1cm5cbiAgICBpZiAodHlwZW9mIG1lc3NhZ2UgPT0gXCJmdW5jdGlvblwiKSBtZXNzYWdlID0gbWVzc2FnZSgpXG4gICAgaWYgKCFBcnJheS5pc0FycmF5KG1lc3NhZ2UpKSBtZXNzYWdlID0gW21lc3NhZ2VdXG4gICAgaWYgKHRoaXMubmFtZSkgbWVzc2FnZS51bnNoaWZ0KGAke3RoaXMubmFtZX06YClcblxuICAgIGNvbnNvbGUubG9nKC4uLm1lc3NhZ2UpXG4gIH1cblxuICBnZXREZWJ1ZyA9ICgpID0+IHRoaXMuaXNEZWJ1Z2dpbmdcblxuICBzZXREZWJ1Zyh2YWx1ZSkge1xuICAgIHRoaXMuaXNEZWJ1Z2dpbmcgPSB2YWx1ZVxuICB9XG59XG4iXSwibWFwcGluZ3MiOiJBQUFBLE1BQU1BLE1BQU0sR0FBRyxDQUFDLENBQUM7QUFFakIsZUFBZSxNQUFNQyxjQUFjLENBQUM7RUFDbEMsT0FBT0MsY0FBYyxHQUFHQSxDQUFBLEtBQU1GLE1BQU0sQ0FBQ0csV0FBVztFQUVoRCxPQUFPQyxjQUFjQSxDQUFDQyxRQUFRLEVBQUU7SUFDOUJMLE1BQU0sQ0FBQ0csV0FBVyxHQUFHRSxRQUFRO0VBQy9CO0VBRUFDLFdBQVdBLENBQUNDLElBQUksR0FBRyxDQUFDLENBQUMsRUFBRTtJQUNyQixJQUFJLENBQUNDLElBQUksR0FBR0QsSUFBSSxDQUFDQyxJQUFJO0VBQ3ZCO0VBRUFDLEtBQUtBLENBQUNDLE9BQU8sRUFBRTtJQUNiLElBQUksSUFBSSxDQUFDQyxRQUFRLENBQUMsQ0FBQyxFQUFFO01BQ25CLElBQUksQ0FBQ0MsR0FBRyxDQUFDRixPQUFPLENBQUM7SUFDbkI7RUFDRjtFQUVBRyxLQUFLQSxDQUFDSCxPQUFPLEVBQUU7SUFDYkksT0FBTyxDQUFDRCxLQUFLLENBQUNILE9BQU8sQ0FBQztFQUN4QjtFQUVBRSxHQUFHQSxDQUFDRixPQUFPLEVBQUU7SUFDWCxJQUFJLENBQUMsSUFBSSxDQUFDRCxLQUFLLElBQUksQ0FBQ1IsY0FBYyxDQUFDQyxjQUFjLENBQUMsQ0FBQyxFQUFFO0lBQ3JELElBQUksT0FBT1EsT0FBTyxJQUFJLFVBQVUsRUFBRUEsT0FBTyxHQUFHQSxPQUFPLENBQUMsQ0FBQztJQUNyRCxJQUFJLENBQUNLLEtBQUssQ0FBQ0MsT0FBTyxDQUFDTixPQUFPLENBQUMsRUFBRUEsT0FBTyxHQUFHLENBQUNBLE9BQU8sQ0FBQztJQUNoRCxJQUFJLElBQUksQ0FBQ0YsSUFBSSxFQUFFRSxPQUFPLENBQUNPLE9BQU8sQ0FBQyxHQUFHLElBQUksQ0FBQ1QsSUFBSSxHQUFHLENBQUM7SUFFL0NNLE9BQU8sQ0FBQ0YsR0FBRyxDQUFDLEdBQUdGLE9BQU8sQ0FBQztFQUN6QjtFQUVBQyxRQUFRLEdBQUdBLENBQUEsS0FBTSxJQUFJLENBQUNSLFdBQVc7RUFFakNlLFFBQVFBLENBQUNDLEtBQUssRUFBRTtJQUNkLElBQUksQ0FBQ2hCLFdBQVcsR0FBR2dCLEtBQUs7RUFDMUI7QUFDRiIsImlnbm9yZUxpc3QiOltdfQ==
|
package/build/modal.js
ADDED
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
2
|
+
import BaseComponent from "./base-component";
|
|
3
|
+
import memo from "set-state-compare/src/memo";
|
|
4
|
+
import React from "react";
|
|
5
|
+
import { shapeComponent } from "set-state-compare/src/shape-component";
|
|
6
|
+
import { Modal, Pressable, View } from "react-native";
|
|
7
|
+
export default memo(shapeComponent(class ApiMakerModal extends BaseComponent {
|
|
8
|
+
render() {
|
|
9
|
+
const {
|
|
10
|
+
children,
|
|
11
|
+
onRequestClose,
|
|
12
|
+
...restProps
|
|
13
|
+
} = this.props;
|
|
14
|
+
return /*#__PURE__*/React.createElement(Modal, _extends({
|
|
15
|
+
onRequestClose: onRequestClose
|
|
16
|
+
}, restProps), /*#__PURE__*/React.createElement(View, {
|
|
17
|
+
style: {
|
|
18
|
+
alignItems: "center",
|
|
19
|
+
justifyContent: "center",
|
|
20
|
+
minWidth: "100%",
|
|
21
|
+
minHeight: "100%",
|
|
22
|
+
padding: 20
|
|
23
|
+
}
|
|
24
|
+
}, /*#__PURE__*/React.createElement(Pressable, {
|
|
25
|
+
dataSet: {
|
|
26
|
+
class: "modal-backdrop"
|
|
27
|
+
},
|
|
28
|
+
onPress: onRequestClose,
|
|
29
|
+
style: {
|
|
30
|
+
position: "absolute",
|
|
31
|
+
minWidth: "100%",
|
|
32
|
+
minHeight: "100%",
|
|
33
|
+
backgroundColor: "rgba(0, 0, 0, 0.5)"
|
|
34
|
+
}
|
|
35
|
+
}), children));
|
|
36
|
+
}
|
|
37
|
+
}));
|
|
38
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJCYXNlQ29tcG9uZW50IiwibWVtbyIsIlJlYWN0Iiwic2hhcGVDb21wb25lbnQiLCJNb2RhbCIsIlByZXNzYWJsZSIsIlZpZXciLCJBcGlNYWtlck1vZGFsIiwicmVuZGVyIiwiY2hpbGRyZW4iLCJvblJlcXVlc3RDbG9zZSIsInJlc3RQcm9wcyIsInByb3BzIiwiY3JlYXRlRWxlbWVudCIsIl9leHRlbmRzIiwic3R5bGUiLCJhbGlnbkl0ZW1zIiwianVzdGlmeUNvbnRlbnQiLCJtaW5XaWR0aCIsIm1pbkhlaWdodCIsInBhZGRpbmciLCJkYXRhU2V0IiwiY2xhc3MiLCJvblByZXNzIiwicG9zaXRpb24iLCJiYWNrZ3JvdW5kQ29sb3IiXSwic291cmNlcyI6WyIuLi9zcmMvbW9kYWwuanN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBCYXNlQ29tcG9uZW50IGZyb20gXCIuL2Jhc2UtY29tcG9uZW50XCJcbmltcG9ydCBtZW1vIGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9zcmMvbWVtb1wiXG5pbXBvcnQgUmVhY3QgZnJvbSBcInJlYWN0XCJcbmltcG9ydCB7c2hhcGVDb21wb25lbnR9IGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9zcmMvc2hhcGUtY29tcG9uZW50XCJcbmltcG9ydCB7TW9kYWwsIFByZXNzYWJsZSwgVmlld30gZnJvbSBcInJlYWN0LW5hdGl2ZVwiXG5cbmV4cG9ydCBkZWZhdWx0IG1lbW8oc2hhcGVDb21wb25lbnQoY2xhc3MgQXBpTWFrZXJNb2RhbCBleHRlbmRzIEJhc2VDb21wb25lbnQge1xuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge2NoaWxkcmVuLCBvblJlcXVlc3RDbG9zZSwgLi4ucmVzdFByb3BzfSA9IHRoaXMucHJvcHNcblxuICAgIHJldHVybiAoXG4gICAgICA8TW9kYWwgb25SZXF1ZXN0Q2xvc2U9e29uUmVxdWVzdENsb3NlfSB7Li4ucmVzdFByb3BzfT5cbiAgICAgICAgPFZpZXdcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgYWxpZ25JdGVtczogXCJjZW50ZXJcIixcbiAgICAgICAgICAgIGp1c3RpZnlDb250ZW50OiBcImNlbnRlclwiLFxuICAgICAgICAgICAgbWluV2lkdGg6IFwiMTAwJVwiLFxuICAgICAgICAgICAgbWluSGVpZ2h0OiBcIjEwMCVcIixcbiAgICAgICAgICAgIHBhZGRpbmc6IDIwLFxuICAgICAgICAgIH19XG4gICAgICAgID5cbiAgICAgICAgICA8UHJlc3NhYmxlXG4gICAgICAgICAgICBkYXRhU2V0PXt7Y2xhc3M6IFwibW9kYWwtYmFja2Ryb3BcIn19XG4gICAgICAgICAgICBvblByZXNzPXtvblJlcXVlc3RDbG9zZX1cbiAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiBcImFic29sdXRlXCIsXG4gICAgICAgICAgICAgIG1pbldpZHRoOiBcIjEwMCVcIixcbiAgICAgICAgICAgICAgbWluSGVpZ2h0OiBcIjEwMCVcIixcbiAgICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiBcInJnYmEoMCwgMCwgMCwgMC41KVwiXG4gICAgICAgICAgICB9fVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2NoaWxkcmVufVxuICAgICAgICA8L1ZpZXc+XG4gICAgICA8L01vZGFsPlxuICAgIClcbiAgfVxufSkpXG4iXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPQSxhQUFhLE1BQU0sa0JBQWtCO0FBQzVDLE9BQU9DLElBQUksTUFBTSw0QkFBNEI7QUFDN0MsT0FBT0MsS0FBSyxNQUFNLE9BQU87QUFDekIsU0FBUUMsY0FBYyxRQUFPLHVDQUF1QztBQUNwRSxTQUFRQyxLQUFLLEVBQUVDLFNBQVMsRUFBRUMsSUFBSSxRQUFPLGNBQWM7QUFFbkQsZUFBZUwsSUFBSSxDQUFDRSxjQUFjLENBQUMsTUFBTUksYUFBYSxTQUFTUCxhQUFhLENBQUM7RUFDM0VRLE1BQU1BLENBQUEsRUFBRztJQUNQLE1BQU07TUFBQ0MsUUFBUTtNQUFFQyxjQUFjO01BQUUsR0FBR0M7SUFBUyxDQUFDLEdBQUcsSUFBSSxDQUFDQyxLQUFLO0lBRTNELG9CQUNFVixLQUFBLENBQUFXLGFBQUEsQ0FBQ1QsS0FBSyxFQUFBVSxRQUFBO01BQUNKLGNBQWMsRUFBRUE7SUFBZSxHQUFLQyxTQUFTLGdCQUNsRFQsS0FBQSxDQUFBVyxhQUFBLENBQUNQLElBQUk7TUFDSFMsS0FBSyxFQUFFO1FBQ0xDLFVBQVUsRUFBRSxRQUFRO1FBQ3BCQyxjQUFjLEVBQUUsUUFBUTtRQUN4QkMsUUFBUSxFQUFFLE1BQU07UUFDaEJDLFNBQVMsRUFBRSxNQUFNO1FBQ2pCQyxPQUFPLEVBQUU7TUFDWDtJQUFFLGdCQUVGbEIsS0FBQSxDQUFBVyxhQUFBLENBQUNSLFNBQVM7TUFDUmdCLE9BQU8sRUFBRTtRQUFDQyxLQUFLLEVBQUU7TUFBZ0IsQ0FBRTtNQUNuQ0MsT0FBTyxFQUFFYixjQUFlO01BQ3hCSyxLQUFLLEVBQUU7UUFDTFMsUUFBUSxFQUFFLFVBQVU7UUFDcEJOLFFBQVEsRUFBRSxNQUFNO1FBQ2hCQyxTQUFTLEVBQUUsTUFBTTtRQUNqQk0sZUFBZSxFQUFFO01BQ25CO0lBQUUsQ0FDSCxDQUFDLEVBQ0RoQixRQUNHLENBQ0QsQ0FBQztFQUVaO0FBQ0YsQ0FBQyxDQUFDLENBQUMiLCJpZ25vcmVMaXN0IjpbXX0=
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import * as inflection from "inflection";
|
|
2
|
+
import * as models from "models";
|
|
3
|
+
const modelClassRequire = modelName => {
|
|
4
|
+
const requireName = inflection.camelize(modelName);
|
|
5
|
+
const ModelClass = models[requireName];
|
|
6
|
+
if (!ModelClass) {
|
|
7
|
+
const modelClasses = Object.keys(models).sort();
|
|
8
|
+
throw new Error(`No model called ${modelName} in ${modelClasses.join(", ")}`);
|
|
9
|
+
}
|
|
10
|
+
return ModelClass;
|
|
11
|
+
};
|
|
12
|
+
export default modelClassRequire;
|
|
13
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJpbmZsZWN0aW9uIiwibW9kZWxzIiwibW9kZWxDbGFzc1JlcXVpcmUiLCJtb2RlbE5hbWUiLCJyZXF1aXJlTmFtZSIsImNhbWVsaXplIiwiTW9kZWxDbGFzcyIsIm1vZGVsQ2xhc3NlcyIsIk9iamVjdCIsImtleXMiLCJzb3J0IiwiRXJyb3IiLCJqb2luIl0sInNvdXJjZXMiOlsiLi4vc3JjL21vZGVsLWNsYXNzLXJlcXVpcmUuanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgaW5mbGVjdGlvbiBmcm9tIFwiaW5mbGVjdGlvblwiXG5pbXBvcnQgKiBhcyBtb2RlbHMgZnJvbSBcIm1vZGVsc1wiXG5cbmNvbnN0IG1vZGVsQ2xhc3NSZXF1aXJlID0gKG1vZGVsTmFtZSkgPT4ge1xuICBjb25zdCByZXF1aXJlTmFtZSA9IGluZmxlY3Rpb24uY2FtZWxpemUobW9kZWxOYW1lKVxuICBjb25zdCBNb2RlbENsYXNzID0gbW9kZWxzW3JlcXVpcmVOYW1lXVxuXG4gIGlmICghTW9kZWxDbGFzcykge1xuICAgIGNvbnN0IG1vZGVsQ2xhc3NlcyA9IE9iamVjdC5rZXlzKG1vZGVscykuc29ydCgpXG5cbiAgICB0aHJvdyBuZXcgRXJyb3IoYE5vIG1vZGVsIGNhbGxlZCAke21vZGVsTmFtZX0gaW4gJHttb2RlbENsYXNzZXMuam9pbihcIiwgXCIpfWApXG4gIH1cblxuICByZXR1cm4gTW9kZWxDbGFzc1xufVxuXG5leHBvcnQgZGVmYXVsdCBtb2RlbENsYXNzUmVxdWlyZVxuIl0sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUtBLFVBQVUsTUFBTSxZQUFZO0FBQ3hDLE9BQU8sS0FBS0MsTUFBTSxNQUFNLFFBQVE7QUFFaEMsTUFBTUMsaUJBQWlCLEdBQUlDLFNBQVMsSUFBSztFQUN2QyxNQUFNQyxXQUFXLEdBQUdKLFVBQVUsQ0FBQ0ssUUFBUSxDQUFDRixTQUFTLENBQUM7RUFDbEQsTUFBTUcsVUFBVSxHQUFHTCxNQUFNLENBQUNHLFdBQVcsQ0FBQztFQUV0QyxJQUFJLENBQUNFLFVBQVUsRUFBRTtJQUNmLE1BQU1DLFlBQVksR0FBR0MsTUFBTSxDQUFDQyxJQUFJLENBQUNSLE1BQU0sQ0FBQyxDQUFDUyxJQUFJLENBQUMsQ0FBQztJQUUvQyxNQUFNLElBQUlDLEtBQUssQ0FBQyxtQkFBbUJSLFNBQVMsT0FBT0ksWUFBWSxDQUFDSyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztFQUMvRTtFQUVBLE9BQU9OLFVBQVU7QUFDbkIsQ0FBQztBQUVELGVBQWVKLGlCQUFpQiIsImlnbm9yZUxpc3QiOltdfQ==
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import CableConnectionPool from "./cable-connection-pool";
|
|
2
|
+
import { digg } from "diggerize";
|
|
3
|
+
export default class ModelEvents {
|
|
4
|
+
static connect(model, eventName, callback) {
|
|
5
|
+
const modelClassName = digg(model.modelClassData(), "name");
|
|
6
|
+
const cableSubscription = CableConnectionPool.current().connectEvent(modelClassName, model.primaryKey(), eventName, callback);
|
|
7
|
+
return cableSubscription;
|
|
8
|
+
}
|
|
9
|
+
static connectModelClass(modelClass, eventName, callback) {
|
|
10
|
+
const modelClassName = digg(modelClass.modelClassData(), "name");
|
|
11
|
+
const cableSubscription = CableConnectionPool.current().connectModelClassEvent(modelClassName, eventName, callback);
|
|
12
|
+
return cableSubscription;
|
|
13
|
+
}
|
|
14
|
+
static connectCreated(modelClass, callback) {
|
|
15
|
+
const modelClassName = digg(modelClass.modelClassData(), "name");
|
|
16
|
+
const cableSubscription = CableConnectionPool.current().connectCreated(modelClassName, callback);
|
|
17
|
+
return cableSubscription;
|
|
18
|
+
}
|
|
19
|
+
static connectDestroyed(model, callback) {
|
|
20
|
+
const modelClassName = digg(model.modelClassData(), "name");
|
|
21
|
+
const cableSubscription = CableConnectionPool.current().connectDestroyed(modelClassName, model.primaryKey(), callback);
|
|
22
|
+
return cableSubscription;
|
|
23
|
+
}
|
|
24
|
+
static connectUpdated(model, callback) {
|
|
25
|
+
const modelClassName = digg(model.modelClassData(), "name");
|
|
26
|
+
const cableSubscription = CableConnectionPool.current().connectUpdate(modelClassName, model.primaryKey(), callback);
|
|
27
|
+
return cableSubscription;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJDYWJsZUNvbm5lY3Rpb25Qb29sIiwiZGlnZyIsIk1vZGVsRXZlbnRzIiwiY29ubmVjdCIsIm1vZGVsIiwiZXZlbnROYW1lIiwiY2FsbGJhY2siLCJtb2RlbENsYXNzTmFtZSIsIm1vZGVsQ2xhc3NEYXRhIiwiY2FibGVTdWJzY3JpcHRpb24iLCJjdXJyZW50IiwiY29ubmVjdEV2ZW50IiwicHJpbWFyeUtleSIsImNvbm5lY3RNb2RlbENsYXNzIiwibW9kZWxDbGFzcyIsImNvbm5lY3RNb2RlbENsYXNzRXZlbnQiLCJjb25uZWN0Q3JlYXRlZCIsImNvbm5lY3REZXN0cm95ZWQiLCJjb25uZWN0VXBkYXRlZCIsImNvbm5lY3RVcGRhdGUiXSwic291cmNlcyI6WyIuLi9zcmMvbW9kZWwtZXZlbnRzLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBDYWJsZUNvbm5lY3Rpb25Qb29sIGZyb20gXCIuL2NhYmxlLWNvbm5lY3Rpb24tcG9vbFwiXG5pbXBvcnQge2RpZ2d9IGZyb20gXCJkaWdnZXJpemVcIlxuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBNb2RlbEV2ZW50cyB7XG4gIHN0YXRpYyBjb25uZWN0IChtb2RlbCwgZXZlbnROYW1lLCBjYWxsYmFjaykge1xuICAgIGNvbnN0IG1vZGVsQ2xhc3NOYW1lID0gZGlnZyhtb2RlbC5tb2RlbENsYXNzRGF0YSgpLCBcIm5hbWVcIilcbiAgICBjb25zdCBjYWJsZVN1YnNjcmlwdGlvbiA9IENhYmxlQ29ubmVjdGlvblBvb2wuY3VycmVudCgpLmNvbm5lY3RFdmVudChtb2RlbENsYXNzTmFtZSwgbW9kZWwucHJpbWFyeUtleSgpLCBldmVudE5hbWUsIGNhbGxiYWNrKVxuXG4gICAgcmV0dXJuIGNhYmxlU3Vic2NyaXB0aW9uXG4gIH1cblxuICBzdGF0aWMgY29ubmVjdE1vZGVsQ2xhc3MgKG1vZGVsQ2xhc3MsIGV2ZW50TmFtZSwgY2FsbGJhY2spIHtcbiAgICBjb25zdCBtb2RlbENsYXNzTmFtZSA9IGRpZ2cobW9kZWxDbGFzcy5tb2RlbENsYXNzRGF0YSgpLCBcIm5hbWVcIilcbiAgICBjb25zdCBjYWJsZVN1YnNjcmlwdGlvbiA9IENhYmxlQ29ubmVjdGlvblBvb2wuY3VycmVudCgpLmNvbm5lY3RNb2RlbENsYXNzRXZlbnQobW9kZWxDbGFzc05hbWUsIGV2ZW50TmFtZSwgY2FsbGJhY2spXG5cbiAgICByZXR1cm4gY2FibGVTdWJzY3JpcHRpb25cbiAgfVxuXG4gIHN0YXRpYyBjb25uZWN0Q3JlYXRlZCAobW9kZWxDbGFzcywgY2FsbGJhY2spIHtcbiAgICBjb25zdCBtb2RlbENsYXNzTmFtZSA9IGRpZ2cobW9kZWxDbGFzcy5tb2RlbENsYXNzRGF0YSgpLCBcIm5hbWVcIilcbiAgICBjb25zdCBjYWJsZVN1YnNjcmlwdGlvbiA9IENhYmxlQ29ubmVjdGlvblBvb2wuY3VycmVudCgpLmNvbm5lY3RDcmVhdGVkKG1vZGVsQ2xhc3NOYW1lLCBjYWxsYmFjaylcblxuICAgIHJldHVybiBjYWJsZVN1YnNjcmlwdGlvblxuICB9XG5cbiAgc3RhdGljIGNvbm5lY3REZXN0cm95ZWQgKG1vZGVsLCBjYWxsYmFjaykge1xuICAgIGNvbnN0IG1vZGVsQ2xhc3NOYW1lID0gZGlnZyhtb2RlbC5tb2RlbENsYXNzRGF0YSgpLCBcIm5hbWVcIilcbiAgICBjb25zdCBjYWJsZVN1YnNjcmlwdGlvbiA9IENhYmxlQ29ubmVjdGlvblBvb2wuY3VycmVudCgpLmNvbm5lY3REZXN0cm95ZWQobW9kZWxDbGFzc05hbWUsIG1vZGVsLnByaW1hcnlLZXkoKSwgY2FsbGJhY2spXG5cbiAgICByZXR1cm4gY2FibGVTdWJzY3JpcHRpb25cbiAgfVxuXG4gIHN0YXRpYyBjb25uZWN0VXBkYXRlZCAobW9kZWwsIGNhbGxiYWNrKSB7XG4gICAgY29uc3QgbW9kZWxDbGFzc05hbWUgPSBkaWdnKG1vZGVsLm1vZGVsQ2xhc3NEYXRhKCksIFwibmFtZVwiKVxuICAgIGNvbnN0IGNhYmxlU3Vic2NyaXB0aW9uID0gQ2FibGVDb25uZWN0aW9uUG9vbC5jdXJyZW50KCkuY29ubmVjdFVwZGF0ZShtb2RlbENsYXNzTmFtZSwgbW9kZWwucHJpbWFyeUtleSgpLCBjYWxsYmFjaylcblxuICAgIHJldHVybiBjYWJsZVN1YnNjcmlwdGlvblxuICB9XG59XG4iXSwibWFwcGluZ3MiOiJBQUFBLE9BQU9BLG1CQUFtQixNQUFNLHlCQUF5QjtBQUN6RCxTQUFRQyxJQUFJLFFBQU8sV0FBVztBQUU5QixlQUFlLE1BQU1DLFdBQVcsQ0FBQztFQUMvQixPQUFPQyxPQUFPQSxDQUFFQyxLQUFLLEVBQUVDLFNBQVMsRUFBRUMsUUFBUSxFQUFFO0lBQzFDLE1BQU1DLGNBQWMsR0FBR04sSUFBSSxDQUFDRyxLQUFLLENBQUNJLGNBQWMsQ0FBQyxDQUFDLEVBQUUsTUFBTSxDQUFDO0lBQzNELE1BQU1DLGlCQUFpQixHQUFHVCxtQkFBbUIsQ0FBQ1UsT0FBTyxDQUFDLENBQUMsQ0FBQ0MsWUFBWSxDQUFDSixjQUFjLEVBQUVILEtBQUssQ0FBQ1EsVUFBVSxDQUFDLENBQUMsRUFBRVAsU0FBUyxFQUFFQyxRQUFRLENBQUM7SUFFN0gsT0FBT0csaUJBQWlCO0VBQzFCO0VBRUEsT0FBT0ksaUJBQWlCQSxDQUFFQyxVQUFVLEVBQUVULFNBQVMsRUFBRUMsUUFBUSxFQUFFO0lBQ3pELE1BQU1DLGNBQWMsR0FBR04sSUFBSSxDQUFDYSxVQUFVLENBQUNOLGNBQWMsQ0FBQyxDQUFDLEVBQUUsTUFBTSxDQUFDO0lBQ2hFLE1BQU1DLGlCQUFpQixHQUFHVCxtQkFBbUIsQ0FBQ1UsT0FBTyxDQUFDLENBQUMsQ0FBQ0ssc0JBQXNCLENBQUNSLGNBQWMsRUFBRUYsU0FBUyxFQUFFQyxRQUFRLENBQUM7SUFFbkgsT0FBT0csaUJBQWlCO0VBQzFCO0VBRUEsT0FBT08sY0FBY0EsQ0FBRUYsVUFBVSxFQUFFUixRQUFRLEVBQUU7SUFDM0MsTUFBTUMsY0FBYyxHQUFHTixJQUFJLENBQUNhLFVBQVUsQ0FBQ04sY0FBYyxDQUFDLENBQUMsRUFBRSxNQUFNLENBQUM7SUFDaEUsTUFBTUMsaUJBQWlCLEdBQUdULG1CQUFtQixDQUFDVSxPQUFPLENBQUMsQ0FBQyxDQUFDTSxjQUFjLENBQUNULGNBQWMsRUFBRUQsUUFBUSxDQUFDO0lBRWhHLE9BQU9HLGlCQUFpQjtFQUMxQjtFQUVBLE9BQU9RLGdCQUFnQkEsQ0FBRWIsS0FBSyxFQUFFRSxRQUFRLEVBQUU7SUFDeEMsTUFBTUMsY0FBYyxHQUFHTixJQUFJLENBQUNHLEtBQUssQ0FBQ0ksY0FBYyxDQUFDLENBQUMsRUFBRSxNQUFNLENBQUM7SUFDM0QsTUFBTUMsaUJBQWlCLEdBQUdULG1CQUFtQixDQUFDVSxPQUFPLENBQUMsQ0FBQyxDQUFDTyxnQkFBZ0IsQ0FBQ1YsY0FBYyxFQUFFSCxLQUFLLENBQUNRLFVBQVUsQ0FBQyxDQUFDLEVBQUVOLFFBQVEsQ0FBQztJQUV0SCxPQUFPRyxpQkFBaUI7RUFDMUI7RUFFQSxPQUFPUyxjQUFjQSxDQUFFZCxLQUFLLEVBQUVFLFFBQVEsRUFBRTtJQUN0QyxNQUFNQyxjQUFjLEdBQUdOLElBQUksQ0FBQ0csS0FBSyxDQUFDSSxjQUFjLENBQUMsQ0FBQyxFQUFFLE1BQU0sQ0FBQztJQUMzRCxNQUFNQyxpQkFBaUIsR0FBR1QsbUJBQW1CLENBQUNVLE9BQU8sQ0FBQyxDQUFDLENBQUNTLGFBQWEsQ0FBQ1osY0FBYyxFQUFFSCxLQUFLLENBQUNRLFVBQVUsQ0FBQyxDQUFDLEVBQUVOLFFBQVEsQ0FBQztJQUVuSCxPQUFPRyxpQkFBaUI7RUFDMUI7QUFDRiIsImlnbm9yZUxpc3QiOltdfQ==
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import Config from "./config";
|
|
2
|
+
import * as inflection from "inflection";
|
|
3
|
+
export default class ModelName {
|
|
4
|
+
constructor(data) {
|
|
5
|
+
this.data = data;
|
|
6
|
+
}
|
|
7
|
+
camelizedLower = () => this.data.modelClassData.camelizedLower;
|
|
8
|
+
human(args) {
|
|
9
|
+
let argsToUse = args;
|
|
10
|
+
if (!argsToUse) argsToUse = {
|
|
11
|
+
count: 1
|
|
12
|
+
};
|
|
13
|
+
let countKey;
|
|
14
|
+
if (argsToUse.count > 1 || argsToUse.count < 0) {
|
|
15
|
+
countKey = "other";
|
|
16
|
+
} else {
|
|
17
|
+
countKey = "one";
|
|
18
|
+
}
|
|
19
|
+
const key = `activerecord.models.${this.data.modelClassData.i18nKey}.${countKey}`;
|
|
20
|
+
let defaultModelName = this.data.modelClassData.name;
|
|
21
|
+
if (args?.count > 1) defaultModelName = inflection.pluralize(defaultModelName);
|
|
22
|
+
return Config.getI18n().t(key, {
|
|
23
|
+
defaultValue: defaultModelName
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
paramKey = () => this.data.modelClassData.paramKey;
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJDb25maWciLCJpbmZsZWN0aW9uIiwiTW9kZWxOYW1lIiwiY29uc3RydWN0b3IiLCJkYXRhIiwiY2FtZWxpemVkTG93ZXIiLCJtb2RlbENsYXNzRGF0YSIsImh1bWFuIiwiYXJncyIsImFyZ3NUb1VzZSIsImNvdW50IiwiY291bnRLZXkiLCJrZXkiLCJpMThuS2V5IiwiZGVmYXVsdE1vZGVsTmFtZSIsIm5hbWUiLCJwbHVyYWxpemUiLCJnZXRJMThuIiwidCIsImRlZmF1bHRWYWx1ZSIsInBhcmFtS2V5Il0sInNvdXJjZXMiOlsiLi4vc3JjL21vZGVsLW5hbWUuanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IENvbmZpZyBmcm9tIFwiLi9jb25maWdcIlxuaW1wb3J0ICogYXMgaW5mbGVjdGlvbiBmcm9tIFwiaW5mbGVjdGlvblwiXG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIE1vZGVsTmFtZSB7XG4gIGNvbnN0cnVjdG9yKGRhdGEpIHtcbiAgICB0aGlzLmRhdGEgPSBkYXRhXG4gIH1cblxuICBjYW1lbGl6ZWRMb3dlciA9ICgpID0+IHRoaXMuZGF0YS5tb2RlbENsYXNzRGF0YS5jYW1lbGl6ZWRMb3dlclxuXG4gIGh1bWFuKGFyZ3MpIHtcbiAgICBsZXQgYXJnc1RvVXNlID0gYXJnc1xuXG4gICAgaWYgKCFhcmdzVG9Vc2UpIGFyZ3NUb1VzZSA9IHsgY291bnQ6IDEgfVxuXG4gICAgbGV0IGNvdW50S2V5XG5cbiAgICBpZiAoYXJnc1RvVXNlLmNvdW50ID4gMSB8fCBhcmdzVG9Vc2UuY291bnQgPCAwKSB7XG4gICAgICBjb3VudEtleSA9IFwib3RoZXJcIlxuICAgIH0gZWxzZSB7XG4gICAgICBjb3VudEtleSA9IFwib25lXCJcbiAgICB9XG5cbiAgICBjb25zdCBrZXkgPSBgYWN0aXZlcmVjb3JkLm1vZGVscy4ke3RoaXMuZGF0YS5tb2RlbENsYXNzRGF0YS5pMThuS2V5fS4ke2NvdW50S2V5fWBcbiAgICBsZXQgZGVmYXVsdE1vZGVsTmFtZSA9IHRoaXMuZGF0YS5tb2RlbENsYXNzRGF0YS5uYW1lXG5cbiAgICBpZiAoYXJncz8uY291bnQgPiAxKSBkZWZhdWx0TW9kZWxOYW1lID0gaW5mbGVjdGlvbi5wbHVyYWxpemUoZGVmYXVsdE1vZGVsTmFtZSlcblxuICAgIHJldHVybiBDb25maWcuZ2V0STE4bigpLnQoa2V5LCB7ZGVmYXVsdFZhbHVlOiBkZWZhdWx0TW9kZWxOYW1lfSlcbiAgfVxuXG4gIHBhcmFtS2V5ID0gKCkgPT4gdGhpcy5kYXRhLm1vZGVsQ2xhc3NEYXRhLnBhcmFtS2V5XG59XG4iXSwibWFwcGluZ3MiOiJBQUFBLE9BQU9BLE1BQU0sTUFBTSxVQUFVO0FBQzdCLE9BQU8sS0FBS0MsVUFBVSxNQUFNLFlBQVk7QUFFeEMsZUFBZSxNQUFNQyxTQUFTLENBQUM7RUFDN0JDLFdBQVdBLENBQUNDLElBQUksRUFBRTtJQUNoQixJQUFJLENBQUNBLElBQUksR0FBR0EsSUFBSTtFQUNsQjtFQUVBQyxjQUFjLEdBQUdBLENBQUEsS0FBTSxJQUFJLENBQUNELElBQUksQ0FBQ0UsY0FBYyxDQUFDRCxjQUFjO0VBRTlERSxLQUFLQSxDQUFDQyxJQUFJLEVBQUU7SUFDVixJQUFJQyxTQUFTLEdBQUdELElBQUk7SUFFcEIsSUFBSSxDQUFDQyxTQUFTLEVBQUVBLFNBQVMsR0FBRztNQUFFQyxLQUFLLEVBQUU7SUFBRSxDQUFDO0lBRXhDLElBQUlDLFFBQVE7SUFFWixJQUFJRixTQUFTLENBQUNDLEtBQUssR0FBRyxDQUFDLElBQUlELFNBQVMsQ0FBQ0MsS0FBSyxHQUFHLENBQUMsRUFBRTtNQUM5Q0MsUUFBUSxHQUFHLE9BQU87SUFDcEIsQ0FBQyxNQUFNO01BQ0xBLFFBQVEsR0FBRyxLQUFLO0lBQ2xCO0lBRUEsTUFBTUMsR0FBRyxHQUFHLHVCQUF1QixJQUFJLENBQUNSLElBQUksQ0FBQ0UsY0FBYyxDQUFDTyxPQUFPLElBQUlGLFFBQVEsRUFBRTtJQUNqRixJQUFJRyxnQkFBZ0IsR0FBRyxJQUFJLENBQUNWLElBQUksQ0FBQ0UsY0FBYyxDQUFDUyxJQUFJO0lBRXBELElBQUlQLElBQUksRUFBRUUsS0FBSyxHQUFHLENBQUMsRUFBRUksZ0JBQWdCLEdBQUdiLFVBQVUsQ0FBQ2UsU0FBUyxDQUFDRixnQkFBZ0IsQ0FBQztJQUU5RSxPQUFPZCxNQUFNLENBQUNpQixPQUFPLENBQUMsQ0FBQyxDQUFDQyxDQUFDLENBQUNOLEdBQUcsRUFBRTtNQUFDTyxZQUFZLEVBQUVMO0lBQWdCLENBQUMsQ0FBQztFQUNsRTtFQUVBTSxRQUFRLEdBQUdBLENBQUEsS0FBTSxJQUFJLENBQUNoQixJQUFJLENBQUNFLGNBQWMsQ0FBQ2MsUUFBUTtBQUNwRCIsImlnbm9yZUxpc3QiOltdfQ==
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import { digg } from "diggerize";
|
|
2
|
+
import Inflection from "inflection";
|
|
3
|
+
export default class ApiMakerModelPropType {
|
|
4
|
+
static ofModel(modelClass) {
|
|
5
|
+
const modelPropTypeInstance = new ApiMakerModelPropType();
|
|
6
|
+
modelPropTypeInstance.withModelType(modelClass);
|
|
7
|
+
return modelPropTypeInstance;
|
|
8
|
+
}
|
|
9
|
+
constructor() {
|
|
10
|
+
this.isNotRequired = this.isNotRequired.bind(this);
|
|
11
|
+
this.isRequired = this.isRequired.bind(this);
|
|
12
|
+
this._withLoadedAssociations = {};
|
|
13
|
+
}
|
|
14
|
+
isNotRequired(props, propName, _componentName) {
|
|
15
|
+
const model = props[propName];
|
|
16
|
+
if (model) {
|
|
17
|
+
return this.validate({
|
|
18
|
+
model,
|
|
19
|
+
propName
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
isRequired(props, propName, _componentName) {
|
|
24
|
+
const model = props[propName];
|
|
25
|
+
if (!model) return new Error(`${propName} was required but not given`);
|
|
26
|
+
return this.validate({
|
|
27
|
+
model,
|
|
28
|
+
propName
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
previous() {
|
|
32
|
+
if (!this._previousModelPropType) throw new Error("No previous model prop type set");
|
|
33
|
+
return this._previousModelPropType;
|
|
34
|
+
}
|
|
35
|
+
setPreviousModelPropType(previousModelPropType) {
|
|
36
|
+
this._previousModelPropType = previousModelPropType;
|
|
37
|
+
}
|
|
38
|
+
withModelType(modelClass) {
|
|
39
|
+
this._withModelType = modelClass;
|
|
40
|
+
}
|
|
41
|
+
validate({
|
|
42
|
+
model,
|
|
43
|
+
propName
|
|
44
|
+
}) {
|
|
45
|
+
if (this._withModelType && this._withModelType.name != model.constructor.name) return new Error(`Expected ${propName} to be of type ${this._withModelType.name} but it wasn't: ${model.constructor.name}`);
|
|
46
|
+
if (this._withLoadedAbilities) {
|
|
47
|
+
for (const abilityName of this._withLoadedAbilities) {
|
|
48
|
+
const underscoreAbilityName = Inflection.underscore(abilityName);
|
|
49
|
+
if (!(underscoreAbilityName in model.abilities)) return new Error(`The ability ${abilityName} was required to be loaded in ${propName} of the ${model.constructor.name} type but it wasn't`);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
if (this._withLoadedAssociations) {
|
|
53
|
+
for (const associationName in this._withLoadedAssociations) {
|
|
54
|
+
const associationModelPropType = digg(this._withLoadedAssociations, associationName);
|
|
55
|
+
const underscoreAssociationName = Inflection.underscore(associationName);
|
|
56
|
+
if (!(underscoreAssociationName in model.relationshipsCache)) return new Error(`The association ${associationName} was required to be loaded in ${propName} of the ${model.constructor.name} type but it wasn't`);
|
|
57
|
+
const associationCache = digg(model.relationshipsCache, underscoreAssociationName);
|
|
58
|
+
|
|
59
|
+
// Find a model to run sub-model-prop-type-validations on
|
|
60
|
+
if (Array.isArray(associationCache)) {
|
|
61
|
+
for (const preloadedModel of associationCache) {
|
|
62
|
+
const validationResult = associationModelPropType.validate({
|
|
63
|
+
model: preloadedModel,
|
|
64
|
+
propName: `${propName}.${associationName}`
|
|
65
|
+
});
|
|
66
|
+
if (validationResult) return validationResult;
|
|
67
|
+
}
|
|
68
|
+
} else if (associationCache) {
|
|
69
|
+
const validationResult = associationModelPropType.validate({
|
|
70
|
+
model: associationCache,
|
|
71
|
+
propName: `${propName}.${associationName}`
|
|
72
|
+
});
|
|
73
|
+
if (validationResult) return validationResult;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
if (this._withLoadedAttributes && model.isPersisted()) {
|
|
78
|
+
for (const attributeName of this._withLoadedAttributes) {
|
|
79
|
+
const underscoreAttributeName = Inflection.underscore(attributeName);
|
|
80
|
+
if (!(underscoreAttributeName in model.modelData)) {
|
|
81
|
+
return new Error(`The attribute ${attributeName} was required to be loaded in ${propName} of the ${model.constructor.name} type but it wasn't`);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
withLoadedAbilities(arrayOfAbilities) {
|
|
87
|
+
this._withLoadedAbilities = arrayOfAbilities;
|
|
88
|
+
return this;
|
|
89
|
+
}
|
|
90
|
+
withLoadedAssociation(associationName) {
|
|
91
|
+
const associationModelPropType = new ApiMakerModelPropType();
|
|
92
|
+
associationModelPropType.setPreviousModelPropType(this);
|
|
93
|
+
this._withLoadedAssociations[associationName] = associationModelPropType;
|
|
94
|
+
return associationModelPropType;
|
|
95
|
+
}
|
|
96
|
+
withLoadedAttributes(arrayOfAttributes) {
|
|
97
|
+
this._withLoadedAttributes = arrayOfAttributes;
|
|
98
|
+
return this;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJkaWdnIiwiSW5mbGVjdGlvbiIsIkFwaU1ha2VyTW9kZWxQcm9wVHlwZSIsIm9mTW9kZWwiLCJtb2RlbENsYXNzIiwibW9kZWxQcm9wVHlwZUluc3RhbmNlIiwid2l0aE1vZGVsVHlwZSIsImNvbnN0cnVjdG9yIiwiaXNOb3RSZXF1aXJlZCIsImJpbmQiLCJpc1JlcXVpcmVkIiwiX3dpdGhMb2FkZWRBc3NvY2lhdGlvbnMiLCJwcm9wcyIsInByb3BOYW1lIiwiX2NvbXBvbmVudE5hbWUiLCJtb2RlbCIsInZhbGlkYXRlIiwiRXJyb3IiLCJwcmV2aW91cyIsIl9wcmV2aW91c01vZGVsUHJvcFR5cGUiLCJzZXRQcmV2aW91c01vZGVsUHJvcFR5cGUiLCJwcmV2aW91c01vZGVsUHJvcFR5cGUiLCJfd2l0aE1vZGVsVHlwZSIsIm5hbWUiLCJfd2l0aExvYWRlZEFiaWxpdGllcyIsImFiaWxpdHlOYW1lIiwidW5kZXJzY29yZUFiaWxpdHlOYW1lIiwidW5kZXJzY29yZSIsImFiaWxpdGllcyIsImFzc29jaWF0aW9uTmFtZSIsImFzc29jaWF0aW9uTW9kZWxQcm9wVHlwZSIsInVuZGVyc2NvcmVBc3NvY2lhdGlvbk5hbWUiLCJyZWxhdGlvbnNoaXBzQ2FjaGUiLCJhc3NvY2lhdGlvbkNhY2hlIiwiQXJyYXkiLCJpc0FycmF5IiwicHJlbG9hZGVkTW9kZWwiLCJ2YWxpZGF0aW9uUmVzdWx0IiwiX3dpdGhMb2FkZWRBdHRyaWJ1dGVzIiwiaXNQZXJzaXN0ZWQiLCJhdHRyaWJ1dGVOYW1lIiwidW5kZXJzY29yZUF0dHJpYnV0ZU5hbWUiLCJtb2RlbERhdGEiLCJ3aXRoTG9hZGVkQWJpbGl0aWVzIiwiYXJyYXlPZkFiaWxpdGllcyIsIndpdGhMb2FkZWRBc3NvY2lhdGlvbiIsIndpdGhMb2FkZWRBdHRyaWJ1dGVzIiwiYXJyYXlPZkF0dHJpYnV0ZXMiXSwic291cmNlcyI6WyIuLi9zcmMvbW9kZWwtcHJvcC10eXBlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7ZGlnZ30gZnJvbSBcImRpZ2dlcml6ZVwiXG5pbXBvcnQgSW5mbGVjdGlvbiBmcm9tIFwiaW5mbGVjdGlvblwiXG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEFwaU1ha2VyTW9kZWxQcm9wVHlwZSB7XG4gIHN0YXRpYyBvZk1vZGVsIChtb2RlbENsYXNzKSB7XG4gICAgY29uc3QgbW9kZWxQcm9wVHlwZUluc3RhbmNlID0gbmV3IEFwaU1ha2VyTW9kZWxQcm9wVHlwZSgpXG5cbiAgICBtb2RlbFByb3BUeXBlSW5zdGFuY2Uud2l0aE1vZGVsVHlwZShtb2RlbENsYXNzKVxuXG4gICAgcmV0dXJuIG1vZGVsUHJvcFR5cGVJbnN0YW5jZVxuICB9XG5cbiAgY29uc3RydWN0b3IgKCkge1xuICAgIHRoaXMuaXNOb3RSZXF1aXJlZCA9IHRoaXMuaXNOb3RSZXF1aXJlZC5iaW5kKHRoaXMpXG4gICAgdGhpcy5pc1JlcXVpcmVkID0gdGhpcy5pc1JlcXVpcmVkLmJpbmQodGhpcylcbiAgICB0aGlzLl93aXRoTG9hZGVkQXNzb2NpYXRpb25zID0ge31cbiAgfVxuXG4gIGlzTm90UmVxdWlyZWQgKHByb3BzLCBwcm9wTmFtZSwgX2NvbXBvbmVudE5hbWUpIHtcbiAgICBjb25zdCBtb2RlbCA9IHByb3BzW3Byb3BOYW1lXVxuXG4gICAgaWYgKG1vZGVsKSB7XG4gICAgICByZXR1cm4gdGhpcy52YWxpZGF0ZSh7bW9kZWwsIHByb3BOYW1lfSlcbiAgICB9XG4gIH1cblxuICBpc1JlcXVpcmVkIChwcm9wcywgcHJvcE5hbWUsIF9jb21wb25lbnROYW1lKSB7XG4gICAgY29uc3QgbW9kZWwgPSBwcm9wc1twcm9wTmFtZV1cblxuICAgIGlmICghbW9kZWwpIHJldHVybiBuZXcgRXJyb3IoYCR7cHJvcE5hbWV9IHdhcyByZXF1aXJlZCBidXQgbm90IGdpdmVuYClcblxuICAgIHJldHVybiB0aGlzLnZhbGlkYXRlKHttb2RlbCwgcHJvcE5hbWV9KVxuICB9XG5cbiAgcHJldmlvdXMgKCkge1xuICAgIGlmICghdGhpcy5fcHJldmlvdXNNb2RlbFByb3BUeXBlKSB0aHJvdyBuZXcgRXJyb3IoXCJObyBwcmV2aW91cyBtb2RlbCBwcm9wIHR5cGUgc2V0XCIpXG5cbiAgICByZXR1cm4gdGhpcy5fcHJldmlvdXNNb2RlbFByb3BUeXBlXG4gIH1cblxuICBzZXRQcmV2aW91c01vZGVsUHJvcFR5cGUgKHByZXZpb3VzTW9kZWxQcm9wVHlwZSkge1xuICAgIHRoaXMuX3ByZXZpb3VzTW9kZWxQcm9wVHlwZSA9IHByZXZpb3VzTW9kZWxQcm9wVHlwZVxuICB9XG5cbiAgd2l0aE1vZGVsVHlwZSAobW9kZWxDbGFzcykge1xuICAgIHRoaXMuX3dpdGhNb2RlbFR5cGUgPSBtb2RlbENsYXNzXG4gIH1cblxuICB2YWxpZGF0ZSAoe21vZGVsLCBwcm9wTmFtZX0pIHtcbiAgICBpZiAodGhpcy5fd2l0aE1vZGVsVHlwZSAmJiB0aGlzLl93aXRoTW9kZWxUeXBlLm5hbWUgIT0gbW9kZWwuY29uc3RydWN0b3IubmFtZSlcbiAgICAgIHJldHVybiBuZXcgRXJyb3IoYEV4cGVjdGVkICR7cHJvcE5hbWV9IHRvIGJlIG9mIHR5cGUgJHt0aGlzLl93aXRoTW9kZWxUeXBlLm5hbWV9IGJ1dCBpdCB3YXNuJ3Q6ICR7bW9kZWwuY29uc3RydWN0b3IubmFtZX1gKVxuXG4gICAgaWYgKHRoaXMuX3dpdGhMb2FkZWRBYmlsaXRpZXMpIHtcbiAgICAgIGZvciAoY29uc3QgYWJpbGl0eU5hbWUgb2YgdGhpcy5fd2l0aExvYWRlZEFiaWxpdGllcykge1xuICAgICAgICBjb25zdCB1bmRlcnNjb3JlQWJpbGl0eU5hbWUgPSBJbmZsZWN0aW9uLnVuZGVyc2NvcmUoYWJpbGl0eU5hbWUpXG5cbiAgICAgICAgaWYgKCEodW5kZXJzY29yZUFiaWxpdHlOYW1lIGluIG1vZGVsLmFiaWxpdGllcykpXG4gICAgICAgICAgcmV0dXJuIG5ldyBFcnJvcihgVGhlIGFiaWxpdHkgJHthYmlsaXR5TmFtZX0gd2FzIHJlcXVpcmVkIHRvIGJlIGxvYWRlZCBpbiAke3Byb3BOYW1lfSBvZiB0aGUgJHttb2RlbC5jb25zdHJ1Y3Rvci5uYW1lfSB0eXBlIGJ1dCBpdCB3YXNuJ3RgKVxuICAgICAgfVxuICAgIH1cblxuICAgIGlmICh0aGlzLl93aXRoTG9hZGVkQXNzb2NpYXRpb25zKSB7XG4gICAgICBmb3IgKGNvbnN0IGFzc29jaWF0aW9uTmFtZSBpbiB0aGlzLl93aXRoTG9hZGVkQXNzb2NpYXRpb25zKSB7XG4gICAgICAgIGNvbnN0IGFzc29jaWF0aW9uTW9kZWxQcm9wVHlwZSA9IGRpZ2codGhpcy5fd2l0aExvYWRlZEFzc29jaWF0aW9ucywgYXNzb2NpYXRpb25OYW1lKVxuICAgICAgICBjb25zdCB1bmRlcnNjb3JlQXNzb2NpYXRpb25OYW1lID0gSW5mbGVjdGlvbi51bmRlcnNjb3JlKGFzc29jaWF0aW9uTmFtZSlcblxuICAgICAgICBpZiAoISh1bmRlcnNjb3JlQXNzb2NpYXRpb25OYW1lIGluIG1vZGVsLnJlbGF0aW9uc2hpcHNDYWNoZSkpXG4gICAgICAgICAgcmV0dXJuIG5ldyBFcnJvcihgVGhlIGFzc29jaWF0aW9uICR7YXNzb2NpYXRpb25OYW1lfSB3YXMgcmVxdWlyZWQgdG8gYmUgbG9hZGVkIGluICR7cHJvcE5hbWV9IG9mIHRoZSAke21vZGVsLmNvbnN0cnVjdG9yLm5hbWV9IHR5cGUgYnV0IGl0IHdhc24ndGApXG5cbiAgICAgICAgY29uc3QgYXNzb2NpYXRpb25DYWNoZSA9IGRpZ2cobW9kZWwucmVsYXRpb25zaGlwc0NhY2hlLCB1bmRlcnNjb3JlQXNzb2NpYXRpb25OYW1lKVxuXG4gICAgICAgIC8vIEZpbmQgYSBtb2RlbCB0byBydW4gc3ViLW1vZGVsLXByb3AtdHlwZS12YWxpZGF0aW9ucyBvblxuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShhc3NvY2lhdGlvbkNhY2hlKSkge1xuICAgICAgICAgIGZvciAoY29uc3QgcHJlbG9hZGVkTW9kZWwgb2YgYXNzb2NpYXRpb25DYWNoZSkge1xuICAgICAgICAgICAgY29uc3QgdmFsaWRhdGlvblJlc3VsdCA9IGFzc29jaWF0aW9uTW9kZWxQcm9wVHlwZS52YWxpZGF0ZSh7XG4gICAgICAgICAgICAgIG1vZGVsOiBwcmVsb2FkZWRNb2RlbCxcbiAgICAgICAgICAgICAgcHJvcE5hbWU6IGAke3Byb3BOYW1lfS4ke2Fzc29jaWF0aW9uTmFtZX1gXG4gICAgICAgICAgICB9KVxuXG4gICAgICAgICAgICBpZiAodmFsaWRhdGlvblJlc3VsdCkgcmV0dXJuIHZhbGlkYXRpb25SZXN1bHRcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSBpZiAoYXNzb2NpYXRpb25DYWNoZSkge1xuICAgICAgICAgIGNvbnN0IHZhbGlkYXRpb25SZXN1bHQgPSBhc3NvY2lhdGlvbk1vZGVsUHJvcFR5cGUudmFsaWRhdGUoe1xuICAgICAgICAgICAgbW9kZWw6IGFzc29jaWF0aW9uQ2FjaGUsXG4gICAgICAgICAgICBwcm9wTmFtZTogYCR7cHJvcE5hbWV9LiR7YXNzb2NpYXRpb25OYW1lfWBcbiAgICAgICAgICB9KVxuXG4gICAgICAgICAgaWYgKHZhbGlkYXRpb25SZXN1bHQpIHJldHVybiB2YWxpZGF0aW9uUmVzdWx0XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodGhpcy5fd2l0aExvYWRlZEF0dHJpYnV0ZXMgJiYgbW9kZWwuaXNQZXJzaXN0ZWQoKSkge1xuICAgICAgZm9yIChjb25zdCBhdHRyaWJ1dGVOYW1lIG9mIHRoaXMuX3dpdGhMb2FkZWRBdHRyaWJ1dGVzKSB7XG4gICAgICAgIGNvbnN0IHVuZGVyc2NvcmVBdHRyaWJ1dGVOYW1lID0gSW5mbGVjdGlvbi51bmRlcnNjb3JlKGF0dHJpYnV0ZU5hbWUpXG5cbiAgICAgICAgaWYgKCEodW5kZXJzY29yZUF0dHJpYnV0ZU5hbWUgaW4gbW9kZWwubW9kZWxEYXRhKSkge1xuICAgICAgICAgIHJldHVybiBuZXcgRXJyb3IoYFRoZSBhdHRyaWJ1dGUgJHthdHRyaWJ1dGVOYW1lfSB3YXMgcmVxdWlyZWQgdG8gYmUgbG9hZGVkIGluICR7cHJvcE5hbWV9IG9mIHRoZSAke21vZGVsLmNvbnN0cnVjdG9yLm5hbWV9IHR5cGUgYnV0IGl0IHdhc24ndGApXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICB3aXRoTG9hZGVkQWJpbGl0aWVzIChhcnJheU9mQWJpbGl0aWVzKSB7XG4gICAgdGhpcy5fd2l0aExvYWRlZEFiaWxpdGllcyA9IGFycmF5T2ZBYmlsaXRpZXNcblxuICAgIHJldHVybiB0aGlzXG4gIH1cblxuICB3aXRoTG9hZGVkQXNzb2NpYXRpb24gKGFzc29jaWF0aW9uTmFtZSkge1xuICAgIGNvbnN0IGFzc29jaWF0aW9uTW9kZWxQcm9wVHlwZSA9IG5ldyBBcGlNYWtlck1vZGVsUHJvcFR5cGUoKVxuXG4gICAgYXNzb2NpYXRpb25Nb2RlbFByb3BUeXBlLnNldFByZXZpb3VzTW9kZWxQcm9wVHlwZSh0aGlzKVxuICAgIHRoaXMuX3dpdGhMb2FkZWRBc3NvY2lhdGlvbnNbYXNzb2NpYXRpb25OYW1lXSA9IGFzc29jaWF0aW9uTW9kZWxQcm9wVHlwZVxuXG4gICAgcmV0dXJuIGFzc29jaWF0aW9uTW9kZWxQcm9wVHlwZVxuICB9XG5cbiAgd2l0aExvYWRlZEF0dHJpYnV0ZXMgKGFycmF5T2ZBdHRyaWJ1dGVzKSB7XG4gICAgdGhpcy5fd2l0aExvYWRlZEF0dHJpYnV0ZXMgPSBhcnJheU9mQXR0cmlidXRlc1xuXG4gICAgcmV0dXJuIHRoaXNcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFRQSxJQUFJLFFBQU8sV0FBVztBQUM5QixPQUFPQyxVQUFVLE1BQU0sWUFBWTtBQUVuQyxlQUFlLE1BQU1DLHFCQUFxQixDQUFDO0VBQ3pDLE9BQU9DLE9BQU9BLENBQUVDLFVBQVUsRUFBRTtJQUMxQixNQUFNQyxxQkFBcUIsR0FBRyxJQUFJSCxxQkFBcUIsQ0FBQyxDQUFDO0lBRXpERyxxQkFBcUIsQ0FBQ0MsYUFBYSxDQUFDRixVQUFVLENBQUM7SUFFL0MsT0FBT0MscUJBQXFCO0VBQzlCO0VBRUFFLFdBQVdBLENBQUEsRUFBSTtJQUNi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
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { digg, digs } from "diggerize";
|
|
2
|
+
import ModelRecipesModelLoader from "./model-recipes-model-loader";
|
|
3
|
+
export default class ModelRecipesLoader {
|
|
4
|
+
constructor({
|
|
5
|
+
recipes
|
|
6
|
+
}) {
|
|
7
|
+
this.modelClasses = {};
|
|
8
|
+
this.recipes = recipes;
|
|
9
|
+
}
|
|
10
|
+
getModelClass(name) {
|
|
11
|
+
return digg(this, "modelClasses", name);
|
|
12
|
+
}
|
|
13
|
+
load() {
|
|
14
|
+
const {
|
|
15
|
+
recipes
|
|
16
|
+
} = digs(this, "recipes");
|
|
17
|
+
const {
|
|
18
|
+
models
|
|
19
|
+
} = digs(recipes, "models");
|
|
20
|
+
for (const modelName in models) {
|
|
21
|
+
const modelRecipe = models[modelName];
|
|
22
|
+
const modelClassLoader = new ModelRecipesModelLoader({
|
|
23
|
+
modelRecipe,
|
|
24
|
+
modelRecipesLoader: this
|
|
25
|
+
});
|
|
26
|
+
const modelClass = modelClassLoader.createClass();
|
|
27
|
+
this.modelClasses[modelName] = modelClass;
|
|
28
|
+
}
|
|
29
|
+
return this.modelClasses;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJkaWdnIiwiZGlncyIsIk1vZGVsUmVjaXBlc01vZGVsTG9hZGVyIiwiTW9kZWxSZWNpcGVzTG9hZGVyIiwiY29uc3RydWN0b3IiLCJyZWNpcGVzIiwibW9kZWxDbGFzc2VzIiwiZ2V0TW9kZWxDbGFzcyIsIm5hbWUiLCJsb2FkIiwibW9kZWxzIiwibW9kZWxOYW1lIiwibW9kZWxSZWNpcGUiLCJtb2RlbENsYXNzTG9hZGVyIiwibW9kZWxSZWNpcGVzTG9hZGVyIiwibW9kZWxDbGFzcyIsImNyZWF0ZUNsYXNzIl0sInNvdXJjZXMiOlsiLi4vc3JjL21vZGVsLXJlY2lwZXMtbG9hZGVyLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7ZGlnZywgZGlnc30gZnJvbSBcImRpZ2dlcml6ZVwiXG5pbXBvcnQgTW9kZWxSZWNpcGVzTW9kZWxMb2FkZXIgZnJvbSBcIi4vbW9kZWwtcmVjaXBlcy1tb2RlbC1sb2FkZXJcIlxuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBNb2RlbFJlY2lwZXNMb2FkZXIge1xuICBjb25zdHJ1Y3RvciAoe3JlY2lwZXN9KSB7XG4gICAgdGhpcy5tb2RlbENsYXNzZXMgPSB7fVxuICAgIHRoaXMucmVjaXBlcyA9IHJlY2lwZXNcbiAgfVxuXG4gIGdldE1vZGVsQ2xhc3MgKG5hbWUpIHtcbiAgICByZXR1cm4gZGlnZyh0aGlzLCBcIm1vZGVsQ2xhc3Nlc1wiLCBuYW1lKVxuICB9XG5cbiAgbG9hZCAoKSB7XG4gICAgY29uc3Qge3JlY2lwZXN9ID0gZGlncyh0aGlzLCBcInJlY2lwZXNcIilcbiAgICBjb25zdCB7bW9kZWxzfSA9IGRpZ3MocmVjaXBlcywgXCJtb2RlbHNcIilcblxuICAgIGZvciAoY29uc3QgbW9kZWxOYW1lIGluIG1vZGVscykge1xuICAgICAgY29uc3QgbW9kZWxSZWNpcGUgPSBtb2RlbHNbbW9kZWxOYW1lXVxuICAgICAgY29uc3QgbW9kZWxDbGFzc0xvYWRlciA9IG5ldyBNb2RlbFJlY2lwZXNNb2RlbExvYWRlcih7bW9kZWxSZWNpcGUsIG1vZGVsUmVjaXBlc0xvYWRlcjogdGhpc30pXG4gICAgICBjb25zdCBtb2RlbENsYXNzID0gbW9kZWxDbGFzc0xvYWRlci5jcmVhdGVDbGFzcygpXG5cbiAgICAgIHRoaXMubW9kZWxDbGFzc2VzW21vZGVsTmFtZV0gPSBtb2RlbENsYXNzXG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMubW9kZWxDbGFzc2VzXG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBUUEsSUFBSSxFQUFFQyxJQUFJLFFBQU8sV0FBVztBQUNwQyxPQUFPQyx1QkFBdUIsTUFBTSw4QkFBOEI7QUFFbEUsZUFBZSxNQUFNQyxrQkFBa0IsQ0FBQztFQUN0Q0MsV0FBV0EsQ0FBRTtJQUFDQztFQUFPLENBQUMsRUFBRTtJQUN0QixJQUFJLENBQUNDLFlBQVksR0FBRyxDQUFDLENBQUM7SUFDdEIsSUFBSSxDQUFDRCxPQUFPLEdBQUdBLE9BQU87RUFDeEI7RUFFQUUsYUFBYUEsQ0FBRUMsSUFBSSxFQUFFO0lBQ25CLE9BQU9SLElBQUksQ0FBQyxJQUFJLEVBQUUsY0FBYyxFQUFFUSxJQUFJLENBQUM7RUFDekM7RUFFQUMsSUFBSUEsQ0FBQSxFQUFJO0lBQ04sTUFBTTtNQUFDSjtJQUFPLENBQUMsR0FBR0osSUFBSSxDQUFDLElBQUksRUFBRSxTQUFTLENBQUM7SUFDdkMsTUFBTTtNQUFDUztJQUFNLENBQUMsR0FBR1QsSUFBSSxDQUFDSSxPQUFPLEVBQUUsUUFBUSxDQUFDO0lBRXhDLEtBQUssTUFBTU0sU0FBUyxJQUFJRCxNQUFNLEVBQUU7TUFDOUIsTUFBTUUsV0FBVyxHQUFHRixNQUFNLENBQUNDLFNBQVMsQ0FBQztNQUNyQyxNQUFNRSxnQkFBZ0IsR0FBRyxJQUFJWCx1QkFBdUIsQ0FBQztRQUFDVSxXQUFXO1FBQUVFLGtCQUFrQixFQUFFO01BQUksQ0FBQyxDQUFDO01BQzdGLE1BQU1DLFVBQVUsR0FBR0YsZ0JBQWdCLENBQUNHLFdBQVcsQ0FBQyxDQUFDO01BRWpELElBQUksQ0FBQ1YsWUFBWSxDQUFDSyxTQUFTLENBQUMsR0FBR0ksVUFBVTtJQUMzQztJQUVBLE9BQU8sSUFBSSxDQUFDVCxZQUFZO0VBQzFCO0FBQ0YiLCJpZ25vcmVMaXN0IjpbXX0=
|