studiokit-scaffolding-js 4.3.20 → 4.3.21
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/LICENSE +21 -21
- package/README.md +127 -127
- package/lib/components/ActionList.d.ts +20 -20
- package/lib/components/ActionList.js +94 -94
- package/lib/components/AlertDialog.d.ts +18 -18
- package/lib/components/AlertDialog.js +21 -21
- package/lib/components/AlertWithIcon.d.ts +7 -7
- package/lib/components/AlertWithIcon.js +57 -57
- package/lib/components/Blots/CustomImageSpec.d.ts +14 -14
- package/lib/components/Blots/CustomImageSpec.js +45 -45
- package/lib/components/Blots/CustomVideoSpec.d.ts +16 -16
- package/lib/components/Blots/CustomVideoSpec.js +47 -47
- package/lib/components/ConnectedModal.d.ts +6 -6
- package/lib/components/ConnectedModal.js +11 -11
- package/lib/components/Dropdowns/GroupsDropdown.d.ts +18 -18
- package/lib/components/Dropdowns/GroupsDropdown.js +90 -90
- package/lib/components/Dropdowns/ManagedNavDropdown.d.ts +32 -32
- package/lib/components/Dropdowns/ManagedNavDropdown.js +118 -118
- package/lib/components/Dropdowns/UserDropdown.d.ts +6 -6
- package/lib/components/Dropdowns/UserDropdown.js +76 -76
- package/lib/components/Dropdowns/index.d.ts +3 -3
- package/lib/components/Dropdowns/index.js +12 -12
- package/lib/components/EntityOwnerList.d.ts +11 -11
- package/lib/components/EntityOwnerList.js +63 -63
- package/lib/components/ErrorBoundary.d.ts +11 -11
- package/lib/components/ErrorBoundary.js +74 -74
- package/lib/components/Forms/DateField.d.ts +13 -13
- package/lib/components/Forms/DateField.js +99 -99
- package/lib/components/Forms/TimeField.d.ts +11 -11
- package/lib/components/Forms/TimeField.js +112 -112
- package/lib/components/Forms/index.d.ts +2 -2
- package/lib/components/Forms/index.js +14 -14
- package/lib/components/Groups/CreateEditCopySaveButtons.d.ts +10 -10
- package/lib/components/Groups/CreateEditCopySaveButtons.js +18 -18
- package/lib/components/Groups/GroupCreateOrEditCommonProps.d.ts +6 -6
- package/lib/components/Groups/GroupCreateOrEditCommonProps.js +2 -2
- package/lib/components/Groups/RosterSyncInfo.d.ts +5 -5
- package/lib/components/Groups/RosterSyncInfo.js +54 -54
- package/lib/components/HOC/AccessibleAppComponent.d.ts +15 -15
- package/lib/components/HOC/AccessibleAppComponent.js +135 -135
- package/lib/components/HOC/ActivityRequiredComponent.d.ts +105 -105
- package/lib/components/HOC/ActivityRequiredComponent.js +101 -101
- package/lib/components/HOC/AsyncComponent.d.ts +37 -37
- package/lib/components/HOC/AsyncComponent.js +136 -136
- package/lib/components/HOC/AuthenticatedComponent.d.ts +10 -10
- package/lib/components/HOC/AuthenticatedComponent.js +104 -104
- package/lib/components/HOC/CollectionComponent.d.ts +61 -61
- package/lib/components/HOC/CollectionComponent.js +175 -175
- package/lib/components/HOC/CollectionFirstItemComponent.d.ts +67 -67
- package/lib/components/HOC/CollectionFirstItemComponent.js +94 -94
- package/lib/components/HOC/CollectionItemComponent.d.ts +61 -61
- package/lib/components/HOC/CollectionItemComponent.js +172 -172
- package/lib/components/HOC/ConnectedModalComponent.d.ts +26 -26
- package/lib/components/HOC/ConnectedModalComponent.js +110 -110
- package/lib/components/HOC/DataDependentComponent.d.ts +61 -61
- package/lib/components/HOC/DataDependentComponent.js +90 -90
- package/lib/components/HOC/EntityComponent.d.ts +83 -83
- package/lib/components/HOC/EntityComponent.js +120 -120
- package/lib/components/HOC/FullscreenModalComponent.d.ts +74 -74
- package/lib/components/HOC/FullscreenModalComponent.js +173 -173
- package/lib/components/HOC/GroupActivityRequiredComponent.d.ts +29 -29
- package/lib/components/HOC/GroupActivityRequiredComponent.js +49 -49
- package/lib/components/HOC/GuidComponent.d.ts +14 -14
- package/lib/components/HOC/GuidComponent.js +72 -72
- package/lib/components/HOC/ModelContextDependencyVerifyComponent.d.ts +172 -172
- package/lib/components/HOC/ModelContextDependencyVerifyComponent.js +72 -72
- package/lib/components/HOC/ModelErrorRedirectComponent.d.ts +69 -69
- package/lib/components/HOC/ModelErrorRedirectComponent.js +101 -101
- package/lib/components/HOC/SearchPersistorComponent.d.ts +85 -85
- package/lib/components/HOC/SearchPersistorComponent.js +198 -198
- package/lib/components/HOC/UnauthenticatedComponent.d.ts +62 -62
- package/lib/components/HOC/UnauthenticatedComponent.js +90 -90
- package/lib/components/HOC/UserComponent.d.ts +3 -3
- package/lib/components/HOC/UserComponent.js +12 -12
- package/lib/components/Icons/IconExternalUser.d.ts +3 -3
- package/lib/components/Icons/IconExternalUser.js +24 -24
- package/lib/components/Icons/IconImpersonation.d.ts +3 -3
- package/lib/components/Icons/IconImpersonation.js +24 -24
- package/lib/components/Icons/IconStopImpersonating.d.ts +3 -3
- package/lib/components/Icons/IconStopImpersonating.js +24 -24
- package/lib/components/Impersonation/Button.d.ts +7 -7
- package/lib/components/Impersonation/Button.js +61 -61
- package/lib/components/Impersonation/Link.d.ts +7 -7
- package/lib/components/Impersonation/Link.js +58 -58
- package/lib/components/Impersonation/UserDetail.css +22 -22
- package/lib/components/Impersonation/UserDetail.d.ts +22 -22
- package/lib/components/Impersonation/UserDetail.js +23 -23
- package/lib/components/Loading.d.ts +4 -4
- package/lib/components/Loading.js +24 -24
- package/lib/components/Lti/Confirm.d.ts +8 -8
- package/lib/components/Lti/Confirm.js +37 -37
- package/lib/components/Lti/CreateNonLtiGroupAlertDialog.d.ts +15 -15
- package/lib/components/Lti/CreateNonLtiGroupAlertDialog.js +83 -83
- package/lib/components/Lti/Launch.d.ts +21 -21
- package/lib/components/Lti/Launch.js +52 -52
- package/lib/components/Lti/LaunchGroup.d.ts +9 -9
- package/lib/components/Lti/LaunchGroup.js +45 -45
- package/lib/components/NewVersionAlert.d.ts +18 -18
- package/lib/components/NewVersionAlert.js +97 -97
- package/lib/components/NotFound.d.ts +3 -3
- package/lib/components/NotFound.js +28 -28
- package/lib/components/Notifications.d.ts +39 -39
- package/lib/components/Notifications.js +175 -175
- package/lib/components/RefreshIndicator/Bordered.d.ts +7 -7
- package/lib/components/RefreshIndicator/Bordered.js +35 -35
- package/lib/components/RefreshIndicator/Inline.d.ts +4 -4
- package/lib/components/RefreshIndicator/Inline.js +36 -36
- package/lib/components/RefreshIndicator/index.d.ts +21 -21
- package/lib/components/RefreshIndicator/index.js +116 -116
- package/lib/components/SearchControls.d.ts +14 -14
- package/lib/components/SearchControls.js +34 -34
- package/lib/components/SentryRoute.d.ts +3 -3
- package/lib/components/SentryRoute.js +25 -25
- package/lib/components/Tables/RoleFilter.d.ts +14 -14
- package/lib/components/Tables/RoleFilter.js +53 -53
- package/lib/components/Tables/TextFilter.d.ts +7 -7
- package/lib/components/Tables/TextFilter.js +26 -26
- package/lib/components/UserRoles/Add.d.ts +31 -31
- package/lib/components/UserRoles/Add.js +165 -165
- package/lib/components/UserRoles/RoleCell.d.ts +21 -21
- package/lib/components/UserRoles/RoleCell.js +53 -53
- package/lib/components/UserRoles/Select.d.ts +27 -27
- package/lib/components/UserRoles/Select.js +44 -44
- package/lib/components/UserRoles/Table.d.ts +16 -16
- package/lib/components/UserRoles/Table.js +99 -99
- package/lib/components/UserRoles/index.d.ts +76 -76
- package/lib/components/UserRoles/index.js +361 -361
- package/lib/constants/baseActivity.d.ts +25 -25
- package/lib/constants/baseActivity.js +29 -29
- package/lib/constants/baseRole.d.ts +9 -9
- package/lib/constants/baseRole.js +13 -13
- package/lib/constants/configuration.d.ts +8 -8
- package/lib/constants/configuration.js +39 -39
- package/lib/constants/externalProviderType.d.ts +5 -5
- package/lib/constants/externalProviderType.js +9 -9
- package/lib/constants/index.d.ts +8 -8
- package/lib/constants/index.js +20 -20
- package/lib/constants/mockData.d.ts +82 -84
- package/lib/constants/mockData.js +379 -379
- package/lib/constants/modelStatus.d.ts +10 -10
- package/lib/constants/modelStatus.js +14 -14
- package/lib/constants/notificationType.d.ts +7 -7
- package/lib/constants/notificationType.js +11 -11
- package/lib/constants/shard.d.ts +6 -6
- package/lib/constants/shard.js +10 -10
- package/lib/constants/tier.d.ts +6 -6
- package/lib/constants/tier.js +10 -10
- package/lib/constants/userRole.d.ts +2 -2
- package/lib/constants/userRole.js +21 -21
- package/lib/css/base/_base.css +98 -98
- package/lib/css/base/_typography.css +130 -130
- package/lib/css/components/_alert.css +85 -85
- package/lib/css/components/_bootstrap-grid.css +28 -28
- package/lib/css/components/_buttons.css +325 -325
- package/lib/css/components/_forms.css +91 -91
- package/lib/css/components/_menu.css +56 -56
- package/lib/css/components/_modals.css +41 -41
- package/lib/css/components/_tables.css +426 -426
- package/lib/css/components/_tags.css +12 -12
- package/lib/css/index-with-variables.css +14 -14
- package/lib/css/index.css +13 -13
- package/lib/css/utils/_border.css +463 -463
- package/lib/css/utils/_color.css +271 -271
- package/lib/css/utils/_display.css +312 -312
- package/lib/css/utils/_general.css +48 -48
- package/lib/css/utils/_icon.css +16 -16
- package/lib/css/utils/_text.css +24 -24
- package/lib/css/utils/_width.css +60 -60
- package/lib/css/variables.css +70 -70
- package/lib/endpointMappings.d.ts +4 -4
- package/lib/endpointMappings.js +173 -173
- package/lib/hooks/useCollection.d.ts +6 -6
- package/lib/hooks/useCollection.js +61 -61
- package/lib/hooks/useCollectionConfiguration.d.ts +27 -27
- package/lib/hooks/useCollectionConfiguration.js +67 -67
- package/lib/hooks/useCollectionItem.d.ts +6 -6
- package/lib/hooks/useCollectionItem.js +54 -54
- package/lib/hooks/useGuid.d.ts +4 -4
- package/lib/hooks/useGuid.js +14 -14
- package/lib/hooks/usePrevious.d.ts +5 -5
- package/lib/hooks/usePrevious.js +18 -18
- package/lib/index.d.ts +8 -8
- package/lib/index.js +30 -30
- package/lib/redux/actionCreator.d.ts +5 -5
- package/lib/redux/actionCreator.js +16 -16
- package/lib/redux/actions.d.ts +12 -12
- package/lib/redux/actions.js +30 -30
- package/lib/redux/configureReducers.d.ts +22 -22
- package/lib/redux/configureReducers.js +94 -94
- package/lib/redux/configureStore.d.ts +14 -14
- package/lib/redux/configureStore.js +118 -118
- package/lib/redux/helpers.d.ts +2 -2
- package/lib/redux/helpers.js +7 -7
- package/lib/redux/reducers/index.d.ts +4 -4
- package/lib/redux/reducers/index.js +12 -12
- package/lib/redux/reducers/modalsReducer.d.ts +8 -8
- package/lib/redux/reducers/modalsReducer.js +54 -54
- package/lib/redux/reducers/notificationsReducer.d.ts +9 -9
- package/lib/redux/reducers/notificationsReducer.js +27 -27
- package/lib/redux/reducers/searchReducer.d.ts +17 -17
- package/lib/redux/reducers/searchReducer.js +26 -26
- package/lib/redux/sagas/caliperSaga.d.ts +2 -2
- package/lib/redux/sagas/caliperSaga.js +296 -296
- package/lib/redux/sagas/clockOffsetSaga.d.ts +10 -10
- package/lib/redux/sagas/clockOffsetSaga.js +81 -81
- package/lib/redux/sagas/configurationSaga.d.ts +1 -1
- package/lib/redux/sagas/configurationSaga.js +48 -48
- package/lib/redux/sagas/errorSaga.d.ts +2 -2
- package/lib/redux/sagas/errorSaga.js +66 -66
- package/lib/redux/sagas/identityProviderSaga.d.ts +2 -2
- package/lib/redux/sagas/identityProviderSaga.js +91 -91
- package/lib/redux/sagas/initialDataLoadSaga.d.ts +1 -1
- package/lib/redux/sagas/initialDataLoadSaga.js +33 -33
- package/lib/redux/sagas/postLoginDataSaga.d.ts +9 -9
- package/lib/redux/sagas/postLoginDataSaga.js +87 -87
- package/lib/redux/sagas/postLoginRedirectSaga.d.ts +6 -6
- package/lib/redux/sagas/postLoginRedirectSaga.js +96 -96
- package/lib/redux/sagas/rootSaga.d.ts +5 -5
- package/lib/redux/sagas/rootSaga.js +144 -144
- package/lib/redux/sagas/sentrySaga.d.ts +1 -1
- package/lib/redux/sagas/sentrySaga.js +103 -103
- package/lib/services/codeProviderService.d.ts +3 -3
- package/lib/services/codeProviderService.js +36 -36
- package/lib/services/documentService.d.ts +10 -10
- package/lib/services/documentService.js +17 -17
- package/lib/services/persistenceService.d.ts +13 -13
- package/lib/services/persistenceService.js +45 -45
- package/lib/services/ticketProviderService.d.ts +3 -3
- package/lib/services/ticketProviderService.js +40 -40
- package/lib/services/windowService.d.ts +9 -9
- package/lib/services/windowService.js +15 -15
- package/lib/setupTests.d.ts +1 -1
- package/lib/setupTests.js +25 -25
- package/lib/startup.d.ts +29 -29
- package/lib/startup.js +128 -128
- package/lib/types/AppConfiguration.d.ts +32 -32
- package/lib/types/AppConfiguration.js +2 -2
- package/lib/types/Artifact.d.ts +14 -14
- package/lib/types/Artifact.js +9 -9
- package/lib/types/BaseReduxState.d.ts +57 -57
- package/lib/types/BaseReduxState.js +2 -2
- package/lib/types/Client.d.ts +6 -6
- package/lib/types/Client.js +2 -2
- package/lib/types/Collection.d.ts +175 -175
- package/lib/types/Collection.js +2 -2
- package/lib/types/Configuration.d.ts +12 -12
- package/lib/types/Configuration.js +2 -2
- package/lib/types/DeepLinkingResponseRequest.d.ts +4 -4
- package/lib/types/DeepLinkingResponseRequest.js +2 -2
- package/lib/types/DeletableModel.d.ts +4 -4
- package/lib/types/DeletableModel.js +2 -2
- package/lib/types/External.d.ts +31 -31
- package/lib/types/External.js +2 -2
- package/lib/types/Group.d.ts +19 -19
- package/lib/types/Group.js +2 -2
- package/lib/types/IdentityProvider.d.ts +11 -11
- package/lib/types/IdentityProvider.js +2 -2
- package/lib/types/LtiLaunch.d.ts +20 -20
- package/lib/types/LtiLaunch.js +2 -2
- package/lib/types/NameOnlyEntity.d.ts +3 -3
- package/lib/types/NameOnlyEntity.js +2 -2
- package/lib/types/Notification.d.ts +15 -15
- package/lib/types/Notification.js +2 -2
- package/lib/types/OptionalRecord.d.ts +4 -4
- package/lib/types/OptionalRecord.js +2 -2
- package/lib/types/OwnerSchedule.d.ts +9 -9
- package/lib/types/OwnerSchedule.js +2 -2
- package/lib/types/PropertyOfType.d.ts +12 -12
- package/lib/types/PropertyOfType.js +2 -2
- package/lib/types/RoleDescription.d.ts +4 -4
- package/lib/types/RoleDescription.js +2 -2
- package/lib/types/Search.d.ts +11 -11
- package/lib/types/Search.js +2 -2
- package/lib/types/SimpleLocation.d.ts +46 -46
- package/lib/types/SimpleLocation.js +2 -2
- package/lib/types/UniTime.d.ts +17 -17
- package/lib/types/UniTime.js +2 -2
- package/lib/types/User.d.ts +68 -68
- package/lib/types/User.js +2 -2
- package/lib/types/UserRole.d.ts +19 -19
- package/lib/types/UserRole.js +2 -2
- package/lib/types/index.d.ts +21 -21
- package/lib/types/index.js +33 -33
- package/lib/utils/baseActivity.d.ts +63 -63
- package/lib/utils/baseActivity.js +155 -155
- package/lib/utils/baseRole.d.ts +2 -2
- package/lib/utils/baseRole.js +38 -38
- package/lib/utils/collection.d.ts +43 -43
- package/lib/utils/collection.js +337 -337
- package/lib/utils/date.d.ts +162 -162
- package/lib/utils/date.js +401 -401
- package/lib/utils/domainIdentifier.d.ts +2 -2
- package/lib/utils/domainIdentifier.js +12 -12
- package/lib/utils/entityUserRole.d.ts +3 -3
- package/lib/utils/entityUserRole.js +7 -7
- package/lib/utils/externalGroup.d.ts +4 -4
- package/lib/utils/externalGroup.js +32 -32
- package/lib/utils/externalProviders.d.ts +2 -2
- package/lib/utils/externalProviders.js +11 -11
- package/lib/utils/externalTerms.d.ts +2 -2
- package/lib/utils/externalTerms.js +10 -10
- package/lib/utils/group.d.ts +15 -15
- package/lib/utils/group.js +15 -15
- package/lib/utils/groupDates.d.ts +9 -9
- package/lib/utils/groupDates.js +52 -52
- package/lib/utils/groupRoles.d.ts +8 -8
- package/lib/utils/groupRoles.js +42 -42
- package/lib/utils/logger.d.ts +10 -10
- package/lib/utils/logger.js +34 -34
- package/lib/utils/lti.d.ts +3 -3
- package/lib/utils/lti.js +9 -9
- package/lib/utils/model.d.ts +15 -15
- package/lib/utils/model.js +58 -58
- package/lib/utils/number.d.ts +13 -13
- package/lib/utils/number.js +32 -32
- package/lib/utils/promise.d.ts +5 -5
- package/lib/utils/promise.js +17 -17
- package/lib/utils/route.d.ts +5 -5
- package/lib/utils/route.js +69 -69
- package/lib/utils/shard.d.ts +3 -3
- package/lib/utils/shard.js +45 -45
- package/lib/utils/sort.d.ts +11 -11
- package/lib/utils/sort.js +69 -69
- package/lib/utils/string.d.ts +2 -2
- package/lib/utils/string.js +16 -16
- package/lib/utils/timezone.d.ts +2 -2
- package/lib/utils/timezone.js +32 -32
- package/lib/utils/url.d.ts +23 -23
- package/lib/utils/url.js +163 -163
- package/lib/utils/user.d.ts +8 -8
- package/lib/utils/user.js +73 -73
- package/lib/utils/userRole.d.ts +21 -21
- package/lib/utils/userRole.js +48 -48
- package/package.json +192 -192
package/lib/utils/model.d.ts
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import { Model, ModelCollection } from 'studiokit-net-js';
|
|
2
|
-
import MODEL_STATUS from '../constants/modelStatus';
|
|
3
|
-
export declare const getModelArray: <T extends Model>(model: ModelCollection<T>, guid?: string | undefined) => T[];
|
|
4
|
-
export declare const getModelMinusRelations: <T extends Model>(model: T) => Partial<T>;
|
|
5
|
-
export declare const getModelFetchResult: <T extends Model>(model?: T | undefined, nextModel?: T | undefined) => {
|
|
6
|
-
isFinished: boolean;
|
|
7
|
-
isSuccess: boolean;
|
|
8
|
-
error: any;
|
|
9
|
-
};
|
|
10
|
-
/**
|
|
11
|
-
* When the model has finished fetching, call `changeModelStatus`.
|
|
12
|
-
* If `fetchingId` is provided, `model` and `prevModel` are assumed to be `ModelCollection`,
|
|
13
|
-
* and the model found at `fetchingId` is used.
|
|
14
|
-
*/
|
|
15
|
-
export declare function handleModelFetchFinish<TModel extends Model>(model: TModel | ModelCollection<TModel> | undefined, prevModel: TModel | ModelCollection<TModel> | undefined, fetchingId: string | undefined, changeModelStatus: (modelStatus: MODEL_STATUS, fetchingId?: string) => void): void;
|
|
1
|
+
import { Model, ModelCollection } from 'studiokit-net-js';
|
|
2
|
+
import MODEL_STATUS from '../constants/modelStatus';
|
|
3
|
+
export declare const getModelArray: <T extends Model>(model: ModelCollection<T>, guid?: string | undefined) => T[];
|
|
4
|
+
export declare const getModelMinusRelations: <T extends Model>(model: T) => Partial<T>;
|
|
5
|
+
export declare const getModelFetchResult: <T extends Model>(model?: T | undefined, nextModel?: T | undefined) => {
|
|
6
|
+
isFinished: boolean;
|
|
7
|
+
isSuccess: boolean;
|
|
8
|
+
error: any;
|
|
9
|
+
};
|
|
10
|
+
/**
|
|
11
|
+
* When the model has finished fetching, call `changeModelStatus`.
|
|
12
|
+
* If `fetchingId` is provided, `model` and `prevModel` are assumed to be `ModelCollection`,
|
|
13
|
+
* and the model found at `fetchingId` is used.
|
|
14
|
+
*/
|
|
15
|
+
export declare function handleModelFetchFinish<TModel extends Model>(model: TModel | ModelCollection<TModel> | undefined, prevModel: TModel | ModelCollection<TModel> | undefined, fetchingId: string | undefined, changeModelStatus: (modelStatus: MODEL_STATUS, fetchingId?: string) => void): void;
|
package/lib/utils/model.js
CHANGED
|
@@ -1,58 +1,58 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.handleModelFetchFinish = exports.getModelFetchResult = exports.getModelMinusRelations = exports.getModelArray = void 0;
|
|
7
|
-
var lodash_1 = __importDefault(require("lodash"));
|
|
8
|
-
var modelStatus_1 = __importDefault(require("../constants/modelStatus"));
|
|
9
|
-
var getModelArray = function (model, guid) {
|
|
10
|
-
return Object.keys(model)
|
|
11
|
-
.filter(function (key) { return key !== '_metadata' && key !== guid && !!model[key]; })
|
|
12
|
-
.map(function (key) { return model[key]; });
|
|
13
|
-
};
|
|
14
|
-
exports.getModelArray = getModelArray;
|
|
15
|
-
var getModelMinusRelations = function (model) {
|
|
16
|
-
return Object.keys(model)
|
|
17
|
-
.filter(function (key) { return key !== 'guid' && !lodash_1.default.isPlainObject(model[key]) && !lodash_1.default.isArray(model[key]); })
|
|
18
|
-
.reduce(function (retval, key) {
|
|
19
|
-
retval[key] = model[key];
|
|
20
|
-
return retval;
|
|
21
|
-
}, {});
|
|
22
|
-
};
|
|
23
|
-
exports.getModelMinusRelations = getModelMinusRelations;
|
|
24
|
-
var getModelFetchResult = function (model, nextModel) {
|
|
25
|
-
// from (no model, empty model, fetching model) to (fetched model), e.g. GET
|
|
26
|
-
var didFetch = (!model || !model._metadata || model._metadata.isFetching) &&
|
|
27
|
-
!!nextModel &&
|
|
28
|
-
!!nextModel._metadata &&
|
|
29
|
-
!nextModel._metadata.isFetching;
|
|
30
|
-
// from (fetching model) to (no model), e.g. DELETED
|
|
31
|
-
var didDelete = !!model && !!model._metadata && model._metadata.isFetching && !nextModel;
|
|
32
|
-
var isFinished = didFetch || didDelete;
|
|
33
|
-
var isSuccess = isFinished && (didDelete || (!!nextModel && !!nextModel._metadata && !nextModel._metadata.hasError));
|
|
34
|
-
var error = (isFinished && !didDelete && !!nextModel && !!nextModel._metadata && nextModel._metadata.lastFetchErrorData) ||
|
|
35
|
-
undefined;
|
|
36
|
-
return {
|
|
37
|
-
isFinished: isFinished,
|
|
38
|
-
isSuccess: isSuccess,
|
|
39
|
-
error: error
|
|
40
|
-
};
|
|
41
|
-
};
|
|
42
|
-
exports.getModelFetchResult = getModelFetchResult;
|
|
43
|
-
/**
|
|
44
|
-
* When the model has finished fetching, call `changeModelStatus`.
|
|
45
|
-
* If `fetchingId` is provided, `model` and `prevModel` are assumed to be `ModelCollection`,
|
|
46
|
-
* and the model found at `fetchingId` is used.
|
|
47
|
-
*/
|
|
48
|
-
function handleModelFetchFinish(model, prevModel, fetchingId, changeModelStatus) {
|
|
49
|
-
var fetchingModel = fetchingId ? model[fetchingId] : model;
|
|
50
|
-
var prevFetchingModel = fetchingId
|
|
51
|
-
? prevModel[fetchingId]
|
|
52
|
-
: prevModel;
|
|
53
|
-
var modelFetchResult = exports.getModelFetchResult(prevFetchingModel, fetchingModel);
|
|
54
|
-
if (modelFetchResult.isFinished) {
|
|
55
|
-
changeModelStatus(!modelFetchResult.isSuccess ? modelStatus_1.default.ERROR : modelStatus_1.default.READY, undefined);
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
exports.handleModelFetchFinish = handleModelFetchFinish;
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.handleModelFetchFinish = exports.getModelFetchResult = exports.getModelMinusRelations = exports.getModelArray = void 0;
|
|
7
|
+
var lodash_1 = __importDefault(require("lodash"));
|
|
8
|
+
var modelStatus_1 = __importDefault(require("../constants/modelStatus"));
|
|
9
|
+
var getModelArray = function (model, guid) {
|
|
10
|
+
return Object.keys(model)
|
|
11
|
+
.filter(function (key) { return key !== '_metadata' && key !== guid && !!model[key]; })
|
|
12
|
+
.map(function (key) { return model[key]; });
|
|
13
|
+
};
|
|
14
|
+
exports.getModelArray = getModelArray;
|
|
15
|
+
var getModelMinusRelations = function (model) {
|
|
16
|
+
return Object.keys(model)
|
|
17
|
+
.filter(function (key) { return key !== 'guid' && !lodash_1.default.isPlainObject(model[key]) && !lodash_1.default.isArray(model[key]); })
|
|
18
|
+
.reduce(function (retval, key) {
|
|
19
|
+
retval[key] = model[key];
|
|
20
|
+
return retval;
|
|
21
|
+
}, {});
|
|
22
|
+
};
|
|
23
|
+
exports.getModelMinusRelations = getModelMinusRelations;
|
|
24
|
+
var getModelFetchResult = function (model, nextModel) {
|
|
25
|
+
// from (no model, empty model, fetching model) to (fetched model), e.g. GET
|
|
26
|
+
var didFetch = (!model || !model._metadata || model._metadata.isFetching) &&
|
|
27
|
+
!!nextModel &&
|
|
28
|
+
!!nextModel._metadata &&
|
|
29
|
+
!nextModel._metadata.isFetching;
|
|
30
|
+
// from (fetching model) to (no model), e.g. DELETED
|
|
31
|
+
var didDelete = !!model && !!model._metadata && model._metadata.isFetching && !nextModel;
|
|
32
|
+
var isFinished = didFetch || didDelete;
|
|
33
|
+
var isSuccess = isFinished && (didDelete || (!!nextModel && !!nextModel._metadata && !nextModel._metadata.hasError));
|
|
34
|
+
var error = (isFinished && !didDelete && !!nextModel && !!nextModel._metadata && nextModel._metadata.lastFetchErrorData) ||
|
|
35
|
+
undefined;
|
|
36
|
+
return {
|
|
37
|
+
isFinished: isFinished,
|
|
38
|
+
isSuccess: isSuccess,
|
|
39
|
+
error: error
|
|
40
|
+
};
|
|
41
|
+
};
|
|
42
|
+
exports.getModelFetchResult = getModelFetchResult;
|
|
43
|
+
/**
|
|
44
|
+
* When the model has finished fetching, call `changeModelStatus`.
|
|
45
|
+
* If `fetchingId` is provided, `model` and `prevModel` are assumed to be `ModelCollection`,
|
|
46
|
+
* and the model found at `fetchingId` is used.
|
|
47
|
+
*/
|
|
48
|
+
function handleModelFetchFinish(model, prevModel, fetchingId, changeModelStatus) {
|
|
49
|
+
var fetchingModel = fetchingId ? model[fetchingId] : model;
|
|
50
|
+
var prevFetchingModel = fetchingId
|
|
51
|
+
? prevModel[fetchingId]
|
|
52
|
+
: prevModel;
|
|
53
|
+
var modelFetchResult = exports.getModelFetchResult(prevFetchingModel, fetchingModel);
|
|
54
|
+
if (modelFetchResult.isFinished) {
|
|
55
|
+
changeModelStatus(!modelFetchResult.isSuccess ? modelStatus_1.default.ERROR : modelStatus_1.default.READY, undefined);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
exports.handleModelFetchFinish = handleModelFetchFinish;
|
package/lib/utils/number.d.ts
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Validates that the input is a number and that the number falls within
|
|
3
|
-
* the precision and scale constraints provided.
|
|
4
|
-
* https://docs.microsoft.com/en-us/sql/t-sql/data-types/precision-scale-and-length-transact-sql?view=sql-server-2017
|
|
5
|
-
*
|
|
6
|
-
* @export
|
|
7
|
-
* @param decimalString - The number to validate. Must be passed as a string (i.e. from a web form)
|
|
8
|
-
* @param precision - The number of digits allowed in the value
|
|
9
|
-
* @param scale - The number of digits allowed to the right of the decimal point in the value
|
|
10
|
-
* @returns A boolean indicating whether the number falls within the precision and scale constraints provided
|
|
11
|
-
*/
|
|
12
|
-
export declare function hasPrecisionAndScale(decimalString: string, precision: number, scale: number): boolean;
|
|
13
|
-
export declare function modulo(n: number, m: number): number;
|
|
1
|
+
/**
|
|
2
|
+
* Validates that the input is a number and that the number falls within
|
|
3
|
+
* the precision and scale constraints provided.
|
|
4
|
+
* https://docs.microsoft.com/en-us/sql/t-sql/data-types/precision-scale-and-length-transact-sql?view=sql-server-2017
|
|
5
|
+
*
|
|
6
|
+
* @export
|
|
7
|
+
* @param decimalString - The number to validate. Must be passed as a string (i.e. from a web form)
|
|
8
|
+
* @param precision - The number of digits allowed in the value
|
|
9
|
+
* @param scale - The number of digits allowed to the right of the decimal point in the value
|
|
10
|
+
* @returns A boolean indicating whether the number falls within the precision and scale constraints provided
|
|
11
|
+
*/
|
|
12
|
+
export declare function hasPrecisionAndScale(decimalString: string, precision: number, scale: number): boolean;
|
|
13
|
+
export declare function modulo(n: number, m: number): number;
|
package/lib/utils/number.js
CHANGED
|
@@ -1,32 +1,32 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.modulo = exports.hasPrecisionAndScale = void 0;
|
|
4
|
-
/**
|
|
5
|
-
* Validates that the input is a number and that the number falls within
|
|
6
|
-
* the precision and scale constraints provided.
|
|
7
|
-
* https://docs.microsoft.com/en-us/sql/t-sql/data-types/precision-scale-and-length-transact-sql?view=sql-server-2017
|
|
8
|
-
*
|
|
9
|
-
* @export
|
|
10
|
-
* @param decimalString - The number to validate. Must be passed as a string (i.e. from a web form)
|
|
11
|
-
* @param precision - The number of digits allowed in the value
|
|
12
|
-
* @param scale - The number of digits allowed to the right of the decimal point in the value
|
|
13
|
-
* @returns A boolean indicating whether the number falls within the precision and scale constraints provided
|
|
14
|
-
*/
|
|
15
|
-
function hasPrecisionAndScale(decimalString, precision, scale) {
|
|
16
|
-
if (typeof decimalString !== 'string' ||
|
|
17
|
-
isNaN(Number(decimalString)) ||
|
|
18
|
-
isNaN(precision) ||
|
|
19
|
-
isNaN(scale) ||
|
|
20
|
-
precision <= 0 ||
|
|
21
|
-
scale < 0) {
|
|
22
|
-
return false;
|
|
23
|
-
}
|
|
24
|
-
var parts = decimalString.toString().split('.');
|
|
25
|
-
return !!(new RegExp(precision === scale ? '^0$' : "^-?\\d{1," + (precision - scale) + "}$").exec(parts[0]) &&
|
|
26
|
-
(parts.length > 1 ? new RegExp("^\\d{1," + scale + "}$").exec(parts[1]) : true));
|
|
27
|
-
}
|
|
28
|
-
exports.hasPrecisionAndScale = hasPrecisionAndScale;
|
|
29
|
-
function modulo(n, m) {
|
|
30
|
-
return ((n % m) + m) % m;
|
|
31
|
-
}
|
|
32
|
-
exports.modulo = modulo;
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.modulo = exports.hasPrecisionAndScale = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Validates that the input is a number and that the number falls within
|
|
6
|
+
* the precision and scale constraints provided.
|
|
7
|
+
* https://docs.microsoft.com/en-us/sql/t-sql/data-types/precision-scale-and-length-transact-sql?view=sql-server-2017
|
|
8
|
+
*
|
|
9
|
+
* @export
|
|
10
|
+
* @param decimalString - The number to validate. Must be passed as a string (i.e. from a web form)
|
|
11
|
+
* @param precision - The number of digits allowed in the value
|
|
12
|
+
* @param scale - The number of digits allowed to the right of the decimal point in the value
|
|
13
|
+
* @returns A boolean indicating whether the number falls within the precision and scale constraints provided
|
|
14
|
+
*/
|
|
15
|
+
function hasPrecisionAndScale(decimalString, precision, scale) {
|
|
16
|
+
if (typeof decimalString !== 'string' ||
|
|
17
|
+
isNaN(Number(decimalString)) ||
|
|
18
|
+
isNaN(precision) ||
|
|
19
|
+
isNaN(scale) ||
|
|
20
|
+
precision <= 0 ||
|
|
21
|
+
scale < 0) {
|
|
22
|
+
return false;
|
|
23
|
+
}
|
|
24
|
+
var parts = decimalString.toString().split('.');
|
|
25
|
+
return !!(new RegExp(precision === scale ? '^0$' : "^-?\\d{1," + (precision - scale) + "}$").exec(parts[0]) &&
|
|
26
|
+
(parts.length > 1 ? new RegExp("^\\d{1," + scale + "}$").exec(parts[1]) : true));
|
|
27
|
+
}
|
|
28
|
+
exports.hasPrecisionAndScale = hasPrecisionAndScale;
|
|
29
|
+
function modulo(n, m) {
|
|
30
|
+
return ((n % m) + m) % m;
|
|
31
|
+
}
|
|
32
|
+
exports.modulo = modulo;
|
package/lib/utils/promise.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export interface CancellablePromise<T> {
|
|
2
|
-
promise: Promise<T>;
|
|
3
|
-
cancel(): void;
|
|
4
|
-
}
|
|
5
|
-
export declare const cancelablePromise: <T>(promise: Promise<T>) => CancellablePromise<T>;
|
|
1
|
+
export interface CancellablePromise<T> {
|
|
2
|
+
promise: Promise<T>;
|
|
3
|
+
cancel(): void;
|
|
4
|
+
}
|
|
5
|
+
export declare const cancelablePromise: <T>(promise: Promise<T>) => CancellablePromise<T>;
|
package/lib/utils/promise.js
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.cancelablePromise = void 0;
|
|
4
|
-
var cancelablePromise = function (promise) {
|
|
5
|
-
var isCancelled = false;
|
|
6
|
-
var wrappedPromise = new Promise(function (resolve, reject) {
|
|
7
|
-
promise.then(function (val) { return (isCancelled ? reject({ isCancelled: true }) : resolve(val)); }, function (error) { return (isCancelled ? reject({ isCancelled: true }) : reject(error)); });
|
|
8
|
-
});
|
|
9
|
-
var response = {
|
|
10
|
-
promise: wrappedPromise,
|
|
11
|
-
cancel: function () {
|
|
12
|
-
isCancelled = true;
|
|
13
|
-
}
|
|
14
|
-
};
|
|
15
|
-
return response;
|
|
16
|
-
};
|
|
17
|
-
exports.cancelablePromise = cancelablePromise;
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.cancelablePromise = void 0;
|
|
4
|
+
var cancelablePromise = function (promise) {
|
|
5
|
+
var isCancelled = false;
|
|
6
|
+
var wrappedPromise = new Promise(function (resolve, reject) {
|
|
7
|
+
promise.then(function (val) { return (isCancelled ? reject({ isCancelled: true }) : resolve(val)); }, function (error) { return (isCancelled ? reject({ isCancelled: true }) : reject(error)); });
|
|
8
|
+
});
|
|
9
|
+
var response = {
|
|
10
|
+
promise: wrappedPromise,
|
|
11
|
+
cancel: function () {
|
|
12
|
+
isCancelled = true;
|
|
13
|
+
}
|
|
14
|
+
};
|
|
15
|
+
return response;
|
|
16
|
+
};
|
|
17
|
+
exports.cancelablePromise = cancelablePromise;
|
package/lib/utils/route.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Dictionary } from 'lodash';
|
|
2
|
-
export declare const getModelIdFromRouteMatchParams: (routeMatchParams: Dictionary<any>, modelName: string) => string | number | undefined;
|
|
3
|
-
export declare const getPathParamsFromRouteMatchParams: (routeMatchParams: Dictionary<any>, modelName: string) => any[];
|
|
4
|
-
export declare const getMinRequiredPathParamsCount: (modelName: string) => number;
|
|
5
|
-
export declare const getReduxModelName: (pathParams: any[], modelName: string) => string;
|
|
1
|
+
import { Dictionary } from 'lodash';
|
|
2
|
+
export declare const getModelIdFromRouteMatchParams: (routeMatchParams: Dictionary<any>, modelName: string) => string | number | undefined;
|
|
3
|
+
export declare const getPathParamsFromRouteMatchParams: (routeMatchParams: Dictionary<any>, modelName: string) => any[];
|
|
4
|
+
export declare const getMinRequiredPathParamsCount: (modelName: string) => number;
|
|
5
|
+
export declare const getReduxModelName: (pathParams: any[], modelName: string) => string;
|
package/lib/utils/route.js
CHANGED
|
@@ -1,69 +1,69 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.getReduxModelName = exports.getMinRequiredPathParamsCount = exports.getPathParamsFromRouteMatchParams = exports.getModelIdFromRouteMatchParams = void 0;
|
|
7
|
-
var lodash_1 = __importDefault(require("lodash"));
|
|
8
|
-
var pluralize_1 = __importDefault(require("pluralize"));
|
|
9
|
-
var configuration_1 = require("../constants/configuration");
|
|
10
|
-
var getModelIdFromRouteMatchParams = function (routeMatchParams, modelName) {
|
|
11
|
-
var singularModelName = pluralize_1.default.singular(modelName);
|
|
12
|
-
var id = routeMatchParams[singularModelName + "Id"];
|
|
13
|
-
if (isNaN(id)) {
|
|
14
|
-
return id;
|
|
15
|
-
}
|
|
16
|
-
return parseInt(id, 10);
|
|
17
|
-
};
|
|
18
|
-
exports.getModelIdFromRouteMatchParams = getModelIdFromRouteMatchParams;
|
|
19
|
-
var getPathParamsFromRouteMatchParams = function (routeMatchParams, modelName) {
|
|
20
|
-
var pathParams = modelName.split('.').reduce(function (retval, levelName) {
|
|
21
|
-
var levelId = exports.getModelIdFromRouteMatchParams(routeMatchParams, levelName);
|
|
22
|
-
if (levelId) {
|
|
23
|
-
retval.push(levelId);
|
|
24
|
-
}
|
|
25
|
-
return retval;
|
|
26
|
-
}, []);
|
|
27
|
-
return pathParams;
|
|
28
|
-
};
|
|
29
|
-
exports.getPathParamsFromRouteMatchParams = getPathParamsFromRouteMatchParams;
|
|
30
|
-
var getMinRequiredPathParamsCount = function (modelName) {
|
|
31
|
-
var endpointMappings = configuration_1.getEndpointMappings();
|
|
32
|
-
var pathParamCount = 0;
|
|
33
|
-
var modelLevelNames = modelName.split('.');
|
|
34
|
-
modelLevelNames.forEach(function (levelName, index) {
|
|
35
|
-
var modelLevelName = modelLevelNames.slice(0, index + 1).join('.');
|
|
36
|
-
var modelLevel = modelLevelName ? lodash_1.default.get(endpointMappings, modelLevelName) : {};
|
|
37
|
-
var modelConfig = lodash_1.default.merge({}, modelLevel._config);
|
|
38
|
-
if (modelConfig.isCollection && index + 1 < modelLevelNames.length) {
|
|
39
|
-
pathParamCount++;
|
|
40
|
-
}
|
|
41
|
-
});
|
|
42
|
-
return pathParamCount;
|
|
43
|
-
};
|
|
44
|
-
exports.getMinRequiredPathParamsCount = getMinRequiredPathParamsCount;
|
|
45
|
-
var getReduxModelName = function (pathParams, modelName) {
|
|
46
|
-
var endpointMappings = configuration_1.getEndpointMappings();
|
|
47
|
-
var reduxModelName = modelName;
|
|
48
|
-
if (pathParams.length > 0) {
|
|
49
|
-
var pathParamIndex_1 = 0;
|
|
50
|
-
var modelLevelNames_1 = modelName.split('.');
|
|
51
|
-
modelLevelNames_1.forEach(function (levelName, index) {
|
|
52
|
-
var modelLevelName = modelLevelNames_1.slice(0, index + 1).join('.');
|
|
53
|
-
var modelLevel = modelLevelName ? lodash_1.default.get(endpointMappings, modelLevelName) : {};
|
|
54
|
-
var modelConfig = lodash_1.default.merge({}, modelLevel._config);
|
|
55
|
-
if (index === 0) {
|
|
56
|
-
reduxModelName = levelName;
|
|
57
|
-
}
|
|
58
|
-
else {
|
|
59
|
-
reduxModelName = reduxModelName + "." + levelName;
|
|
60
|
-
}
|
|
61
|
-
if (pathParams.length - 1 >= pathParamIndex_1 && modelConfig.isCollection) {
|
|
62
|
-
reduxModelName = reduxModelName + "." + pathParams[pathParamIndex_1];
|
|
63
|
-
pathParamIndex_1++;
|
|
64
|
-
}
|
|
65
|
-
});
|
|
66
|
-
}
|
|
67
|
-
return reduxModelName;
|
|
68
|
-
};
|
|
69
|
-
exports.getReduxModelName = getReduxModelName;
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.getReduxModelName = exports.getMinRequiredPathParamsCount = exports.getPathParamsFromRouteMatchParams = exports.getModelIdFromRouteMatchParams = void 0;
|
|
7
|
+
var lodash_1 = __importDefault(require("lodash"));
|
|
8
|
+
var pluralize_1 = __importDefault(require("pluralize"));
|
|
9
|
+
var configuration_1 = require("../constants/configuration");
|
|
10
|
+
var getModelIdFromRouteMatchParams = function (routeMatchParams, modelName) {
|
|
11
|
+
var singularModelName = pluralize_1.default.singular(modelName);
|
|
12
|
+
var id = routeMatchParams[singularModelName + "Id"];
|
|
13
|
+
if (isNaN(id)) {
|
|
14
|
+
return id;
|
|
15
|
+
}
|
|
16
|
+
return parseInt(id, 10);
|
|
17
|
+
};
|
|
18
|
+
exports.getModelIdFromRouteMatchParams = getModelIdFromRouteMatchParams;
|
|
19
|
+
var getPathParamsFromRouteMatchParams = function (routeMatchParams, modelName) {
|
|
20
|
+
var pathParams = modelName.split('.').reduce(function (retval, levelName) {
|
|
21
|
+
var levelId = exports.getModelIdFromRouteMatchParams(routeMatchParams, levelName);
|
|
22
|
+
if (levelId) {
|
|
23
|
+
retval.push(levelId);
|
|
24
|
+
}
|
|
25
|
+
return retval;
|
|
26
|
+
}, []);
|
|
27
|
+
return pathParams;
|
|
28
|
+
};
|
|
29
|
+
exports.getPathParamsFromRouteMatchParams = getPathParamsFromRouteMatchParams;
|
|
30
|
+
var getMinRequiredPathParamsCount = function (modelName) {
|
|
31
|
+
var endpointMappings = configuration_1.getEndpointMappings();
|
|
32
|
+
var pathParamCount = 0;
|
|
33
|
+
var modelLevelNames = modelName.split('.');
|
|
34
|
+
modelLevelNames.forEach(function (levelName, index) {
|
|
35
|
+
var modelLevelName = modelLevelNames.slice(0, index + 1).join('.');
|
|
36
|
+
var modelLevel = modelLevelName ? lodash_1.default.get(endpointMappings, modelLevelName) : {};
|
|
37
|
+
var modelConfig = lodash_1.default.merge({}, modelLevel._config);
|
|
38
|
+
if (modelConfig.isCollection && index + 1 < modelLevelNames.length) {
|
|
39
|
+
pathParamCount++;
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
return pathParamCount;
|
|
43
|
+
};
|
|
44
|
+
exports.getMinRequiredPathParamsCount = getMinRequiredPathParamsCount;
|
|
45
|
+
var getReduxModelName = function (pathParams, modelName) {
|
|
46
|
+
var endpointMappings = configuration_1.getEndpointMappings();
|
|
47
|
+
var reduxModelName = modelName;
|
|
48
|
+
if (pathParams.length > 0) {
|
|
49
|
+
var pathParamIndex_1 = 0;
|
|
50
|
+
var modelLevelNames_1 = modelName.split('.');
|
|
51
|
+
modelLevelNames_1.forEach(function (levelName, index) {
|
|
52
|
+
var modelLevelName = modelLevelNames_1.slice(0, index + 1).join('.');
|
|
53
|
+
var modelLevel = modelLevelName ? lodash_1.default.get(endpointMappings, modelLevelName) : {};
|
|
54
|
+
var modelConfig = lodash_1.default.merge({}, modelLevel._config);
|
|
55
|
+
if (index === 0) {
|
|
56
|
+
reduxModelName = levelName;
|
|
57
|
+
}
|
|
58
|
+
else {
|
|
59
|
+
reduxModelName = reduxModelName + "." + levelName;
|
|
60
|
+
}
|
|
61
|
+
if (pathParams.length - 1 >= pathParamIndex_1 && modelConfig.isCollection) {
|
|
62
|
+
reduxModelName = reduxModelName + "." + pathParams[pathParamIndex_1];
|
|
63
|
+
pathParamIndex_1++;
|
|
64
|
+
}
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
return reduxModelName;
|
|
68
|
+
};
|
|
69
|
+
exports.getReduxModelName = getReduxModelName;
|
package/lib/utils/shard.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export declare function isPurdueShard(): boolean;
|
|
2
|
-
export declare function isDemoShard(): boolean;
|
|
3
|
-
export declare function getShardKey(host?: string, localhostShardKey?: string): string;
|
|
1
|
+
export declare function isPurdueShard(): boolean;
|
|
2
|
+
export declare function isDemoShard(): boolean;
|
|
3
|
+
export declare function getShardKey(host?: string, localhostShardKey?: string): string;
|
package/lib/utils/shard.js
CHANGED
|
@@ -1,45 +1,45 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.getShardKey = exports.isDemoShard = exports.isPurdueShard = void 0;
|
|
7
|
-
var lodash_1 = __importDefault(require("lodash"));
|
|
8
|
-
var configuration_1 = require("../constants/configuration");
|
|
9
|
-
var shard_1 = __importDefault(require("../constants/shard"));
|
|
10
|
-
var windowService_1 = __importDefault(require("../services/windowService"));
|
|
11
|
-
function isPurdueShard() {
|
|
12
|
-
return getShardKey() === shard_1.default.PURDUE;
|
|
13
|
-
}
|
|
14
|
-
exports.isPurdueShard = isPurdueShard;
|
|
15
|
-
function isDemoShard() {
|
|
16
|
-
return getShardKey() === shard_1.default.DEMO;
|
|
17
|
-
}
|
|
18
|
-
exports.isDemoShard = isDemoShard;
|
|
19
|
-
function getShardKey(host, localhostShardKey) {
|
|
20
|
-
var appConfig = configuration_1.getAppConfig();
|
|
21
|
-
var location = windowService_1.default.getLocation();
|
|
22
|
-
var finalHost = host || location.host;
|
|
23
|
-
var finalLocalhostShardKey = localhostShardKey || appConfig.LOCALHOST_SHARD_KEY;
|
|
24
|
-
var rootDomain = appConfig.ROOT_DOMAIN;
|
|
25
|
-
if (lodash_1.default.startsWith(finalHost, 'localhost') && !!finalLocalhostShardKey) {
|
|
26
|
-
return finalLocalhostShardKey;
|
|
27
|
-
}
|
|
28
|
-
if (lodash_1.default.startsWith(finalHost, 'localhost') ||
|
|
29
|
-
lodash_1.default.includes(finalHost, 'azurewebsites.net') ||
|
|
30
|
-
lodash_1.default.includes(finalHost, 'ngrok.io')) {
|
|
31
|
-
return shard_1.default.PURDUE;
|
|
32
|
-
}
|
|
33
|
-
var urlParts = finalHost.split('.');
|
|
34
|
-
if (urlParts[0] === 'www' || urlParts[0] === 'dev' || (!!rootDomain && urlParts[0] === rootDomain.split('.')[0])) {
|
|
35
|
-
return shard_1.default.ROOT;
|
|
36
|
-
}
|
|
37
|
-
// get subdomain by removing root domain parts
|
|
38
|
-
var shardKey = finalHost.replace("." + rootDomain, '');
|
|
39
|
-
// exclude `.dev` from shardKey
|
|
40
|
-
if (shardKey.indexOf('.dev') === shardKey.length - 4) {
|
|
41
|
-
shardKey = shardKey.replace('.dev', '');
|
|
42
|
-
}
|
|
43
|
-
return shardKey;
|
|
44
|
-
}
|
|
45
|
-
exports.getShardKey = getShardKey;
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.getShardKey = exports.isDemoShard = exports.isPurdueShard = void 0;
|
|
7
|
+
var lodash_1 = __importDefault(require("lodash"));
|
|
8
|
+
var configuration_1 = require("../constants/configuration");
|
|
9
|
+
var shard_1 = __importDefault(require("../constants/shard"));
|
|
10
|
+
var windowService_1 = __importDefault(require("../services/windowService"));
|
|
11
|
+
function isPurdueShard() {
|
|
12
|
+
return getShardKey() === shard_1.default.PURDUE;
|
|
13
|
+
}
|
|
14
|
+
exports.isPurdueShard = isPurdueShard;
|
|
15
|
+
function isDemoShard() {
|
|
16
|
+
return getShardKey() === shard_1.default.DEMO;
|
|
17
|
+
}
|
|
18
|
+
exports.isDemoShard = isDemoShard;
|
|
19
|
+
function getShardKey(host, localhostShardKey) {
|
|
20
|
+
var appConfig = configuration_1.getAppConfig();
|
|
21
|
+
var location = windowService_1.default.getLocation();
|
|
22
|
+
var finalHost = host || location.host;
|
|
23
|
+
var finalLocalhostShardKey = localhostShardKey || appConfig.LOCALHOST_SHARD_KEY;
|
|
24
|
+
var rootDomain = appConfig.ROOT_DOMAIN;
|
|
25
|
+
if (lodash_1.default.startsWith(finalHost, 'localhost') && !!finalLocalhostShardKey) {
|
|
26
|
+
return finalLocalhostShardKey;
|
|
27
|
+
}
|
|
28
|
+
if (lodash_1.default.startsWith(finalHost, 'localhost') ||
|
|
29
|
+
lodash_1.default.includes(finalHost, 'azurewebsites.net') ||
|
|
30
|
+
lodash_1.default.includes(finalHost, 'ngrok.io')) {
|
|
31
|
+
return shard_1.default.PURDUE;
|
|
32
|
+
}
|
|
33
|
+
var urlParts = finalHost.split('.');
|
|
34
|
+
if (urlParts[0] === 'www' || urlParts[0] === 'dev' || (!!rootDomain && urlParts[0] === rootDomain.split('.')[0])) {
|
|
35
|
+
return shard_1.default.ROOT;
|
|
36
|
+
}
|
|
37
|
+
// get subdomain by removing root domain parts
|
|
38
|
+
var shardKey = finalHost.replace("." + rootDomain, '');
|
|
39
|
+
// exclude `.dev` from shardKey
|
|
40
|
+
if (shardKey.indexOf('.dev') === shardKey.length - 4) {
|
|
41
|
+
shardKey = shardKey.replace('.dev', '');
|
|
42
|
+
}
|
|
43
|
+
return shardKey;
|
|
44
|
+
}
|
|
45
|
+
exports.getShardKey = getShardKey;
|
package/lib/utils/sort.d.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import OptionalRecord from '../types/OptionalRecord';
|
|
2
|
-
import { User } from '../types/User';
|
|
3
|
-
export declare const sortByAttribute: <K extends keyof T, T extends OptionalRecord<K, string>>(attributeName: K, shouldSortAscending?: boolean) => (a: T, b: T) => number;
|
|
4
|
-
export declare const sortByAttributeNumeric: <T>(attribute: keyof T) => (a: T, b: T) => 0 | 1 | -1;
|
|
5
|
-
export declare const sortByNames: (a: User, b: User) => 0 | 1 | -1;
|
|
6
|
-
export declare const sortByNameNatural: (a: {
|
|
7
|
-
name: string;
|
|
8
|
-
}, b: {
|
|
9
|
-
name: string;
|
|
10
|
-
}) => number;
|
|
11
|
-
export declare const sort: (array: any[], attributeName: string, shouldSortAscending: boolean) => any[];
|
|
1
|
+
import OptionalRecord from '../types/OptionalRecord';
|
|
2
|
+
import { User } from '../types/User';
|
|
3
|
+
export declare const sortByAttribute: <K extends keyof T, T extends OptionalRecord<K, string>>(attributeName: K, shouldSortAscending?: boolean) => (a: T, b: T) => number;
|
|
4
|
+
export declare const sortByAttributeNumeric: <T>(attribute: keyof T) => (a: T, b: T) => 0 | 1 | -1;
|
|
5
|
+
export declare const sortByNames: (a: User, b: User) => 0 | 1 | -1;
|
|
6
|
+
export declare const sortByNameNatural: (a: {
|
|
7
|
+
name: string;
|
|
8
|
+
}, b: {
|
|
9
|
+
name: string;
|
|
10
|
+
}) => number;
|
|
11
|
+
export declare const sort: (array: any[], attributeName: string, shouldSortAscending: boolean) => any[];
|