@cxbox-ui/core 2.0.0-alpha.7 → 2.0.0-alpha.9

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.
Files changed (127) hide show
  1. package/README.md +261 -28
  2. package/dist/core.d.ts +4274 -0
  3. package/dist/index.js +2 -6
  4. package/dist/index.js.map +1 -0
  5. package/package.json +19 -30
  6. package/dist/actions/index.d.ts +0 -1081
  7. package/dist/api/ObservableApi.d.ts +0 -53
  8. package/dist/api/ObservableApiWrapper.d.ts +0 -11
  9. package/dist/api/index.d.ts +0 -1
  10. package/dist/cxbox-ui-core.cjs.development.js +0 -3674
  11. package/dist/cxbox-ui-core.cjs.production.min.js +0 -2
  12. package/dist/cxbox-ui-core.esm.js +0 -3638
  13. package/dist/cxbox-ui-core.modern.development.js +0 -3568
  14. package/dist/cxbox-ui-core.modern.js +0 -3568
  15. package/dist/cxbox-ui-core.modern.production.min.js +0 -2
  16. package/dist/epics/data/bcCancelCreateDataEpic.d.ts +0 -9
  17. package/dist/epics/data/bcDeleteDataEpic.d.ts +0 -2
  18. package/dist/epics/data/bcFetchDataEpic.d.ts +0 -15
  19. package/dist/epics/data/bcFetchRowMetaRequestEpic.d.ts +0 -17
  20. package/dist/epics/data/bcLoadMoreEpic.d.ts +0 -2
  21. package/dist/epics/data/bcNewDataEpic.d.ts +0 -14
  22. package/dist/epics/data/bcSaveDataEpic.d.ts +0 -24
  23. package/dist/epics/data/bcSelectDepthRecordEpic.d.ts +0 -2
  24. package/dist/epics/data/bcSelectRecordEpic.d.ts +0 -2
  25. package/dist/epics/data/changeAssociationEpic.d.ts +0 -2
  26. package/dist/epics/data/changeAssociationFullEpic.d.ts +0 -5
  27. package/dist/epics/data/changeAssociationSameBcEpic.d.ts +0 -5
  28. package/dist/epics/data/changeChildrenAssociationsEpic.d.ts +0 -2
  29. package/dist/epics/data/changeChildrenAssociationsSameBcEpic.d.ts +0 -2
  30. package/dist/epics/data/changeDescendantsAssociationsFullEpic.d.ts +0 -5
  31. package/dist/epics/data/index.d.ts +0 -20
  32. package/dist/epics/data/inlinePickListFetchDataEpic.d.ts +0 -2
  33. package/dist/epics/data/removeMultivalueTagEpic.d.ts +0 -17
  34. package/dist/epics/data/saveAssociationsActiveEpic.d.ts +0 -7
  35. package/dist/epics/data/saveAssociationsPassiveEpic.d.ts +0 -7
  36. package/dist/epics/data/selectViewEpic.d.ts +0 -11
  37. package/dist/epics/index.d.ts +0 -6
  38. package/dist/epics/router/changeLocationEpic.d.ts +0 -10
  39. package/dist/epics/router/drilldownEpic.d.ts +0 -2
  40. package/dist/epics/router/handleRouterEpic.d.ts +0 -2
  41. package/dist/epics/router/index.d.ts +0 -10
  42. package/dist/epics/router/loginDoneEpic.d.ts +0 -9
  43. package/dist/epics/router/selectScreenEpic.d.ts +0 -7
  44. package/dist/epics/router/selectScreenFailEpic.d.ts +0 -7
  45. package/dist/epics/router/selectViewEpic.d.ts +0 -7
  46. package/dist/epics/router/selectViewFailEpic.d.ts +0 -6
  47. package/dist/epics/router/userDrillDownEpic.d.ts +0 -6
  48. package/dist/epics/router/userDrilldownChangeCursorsEpic.d.ts +0 -2
  49. package/dist/epics/screen/apiErrorEpic.d.ts +0 -2
  50. package/dist/epics/screen/downloadFileByUrlEpic.d.ts +0 -2
  51. package/dist/epics/screen/downloadFileEpic.d.ts +0 -2
  52. package/dist/epics/screen/httpError401Epic.d.ts +0 -2
  53. package/dist/epics/screen/httpError409Epic.d.ts +0 -2
  54. package/dist/epics/screen/httpError418Epic.d.ts +0 -2
  55. package/dist/epics/screen/httpError500Epic.d.ts +0 -2
  56. package/dist/epics/screen/httpErrorDefaultEpic.d.ts +0 -2
  57. package/dist/epics/screen/index.d.ts +0 -10
  58. package/dist/epics/screen/processPostInvokeConfirmEpic.d.ts +0 -2
  59. package/dist/epics/screen/processPostInvokeEpic.d.ts +0 -2
  60. package/dist/epics/session/index.d.ts +0 -5
  61. package/dist/epics/session/loginByAnotherRoleEpic.d.ts +0 -5
  62. package/dist/epics/session/loginDoneEpic.d.ts +0 -6
  63. package/dist/epics/session/refreshMetaAndReloadPageEpic.d.ts +0 -2
  64. package/dist/epics/session/refreshMetaEpic.d.ts +0 -5
  65. package/dist/epics/session/switchRoleEpic.d.ts +0 -5
  66. package/dist/epics/utils/postOperationRoutine.d.ts +0 -13
  67. package/dist/epics/view/clearPendingDataChangesAfterCursorChangeEpic.d.ts +0 -7
  68. package/dist/epics/view/fileUploadConfirmEpic.d.ts +0 -11
  69. package/dist/epics/view/getRowMetaByForceActiveEpic.d.ts +0 -5
  70. package/dist/epics/view/index.d.ts +0 -9
  71. package/dist/epics/view/selectTableCellInitEpic.d.ts +0 -2
  72. package/dist/epics/view/sendOperationAssociateEpic.d.ts +0 -5
  73. package/dist/epics/view/sendOperationEpic.d.ts +0 -10
  74. package/dist/epics/view/showAllTableRecordsInitEpic.d.ts +0 -2
  75. package/dist/epics/view/showAssocPopupEpic.d.ts +0 -2
  76. package/dist/epics/view/showFileUploadPopupEpic.d.ts +0 -5
  77. package/dist/index.d.ts +0 -7
  78. package/dist/interfaces/bc.d.ts +0 -79
  79. package/dist/interfaces/customEpics.d.ts +0 -15
  80. package/dist/interfaces/customMiddlewares.d.ts +0 -35
  81. package/dist/interfaces/data.d.ts +0 -48
  82. package/dist/interfaces/filters.d.ts +0 -32
  83. package/dist/interfaces/index.d.ts +0 -27
  84. package/dist/interfaces/navigation.d.ts +0 -48
  85. package/dist/interfaces/objectMap.d.ts +0 -36
  86. package/dist/interfaces/operation.d.ts +0 -336
  87. package/dist/interfaces/router.d.ts +0 -17
  88. package/dist/interfaces/rowMeta.d.ts +0 -74
  89. package/dist/interfaces/screen.d.ts +0 -28
  90. package/dist/interfaces/session.d.ts +0 -83
  91. package/dist/interfaces/store.d.ts +0 -14
  92. package/dist/interfaces/tree.d.ts +0 -66
  93. package/dist/interfaces/view.d.ts +0 -202
  94. package/dist/interfaces/widget.d.ts +0 -209
  95. package/dist/middlewares/autosaveMiddleware.d.ts +0 -2
  96. package/dist/middlewares/index.d.ts +0 -6
  97. package/dist/middlewares/popupMiddleware.d.ts +0 -2
  98. package/dist/middlewares/preInvokeMiddleware.d.ts +0 -5
  99. package/dist/middlewares/requiredFieldsMiddleware.d.ts +0 -30
  100. package/dist/reducers/ReducerBuilderManager.d.ts +0 -19
  101. package/dist/reducers/data.d.ts +0 -4
  102. package/dist/reducers/depthData.d.ts +0 -4
  103. package/dist/reducers/index.d.ts +0 -6
  104. package/dist/reducers/router.d.ts +0 -9
  105. package/dist/reducers/screen.d.ts +0 -10
  106. package/dist/reducers/session.d.ts +0 -10
  107. package/dist/reducers/view.d.ts +0 -10
  108. package/dist/utils/api.d.ts +0 -25
  109. package/dist/utils/apiError.d.ts +0 -19
  110. package/dist/utils/autosave.d.ts +0 -37
  111. package/dist/utils/bc.d.ts +0 -27
  112. package/dist/utils/breadthFirst.d.ts +0 -21
  113. package/dist/utils/cancelRequestEpic.d.ts +0 -27
  114. package/dist/utils/combineMiddlewares.d.ts +0 -3
  115. package/dist/utils/deleteUndefinedFromObject.d.ts +0 -1
  116. package/dist/utils/exportState.d.ts +0 -0
  117. package/dist/utils/extendPopupWidgetTypes.d.ts +0 -8
  118. package/dist/utils/filters.d.ts +0 -63
  119. package/dist/utils/hierarchy.d.ts +0 -17
  120. package/dist/utils/highlightJson.d.ts +0 -12
  121. package/dist/utils/history.d.ts +0 -50
  122. package/dist/utils/index.d.ts +0 -10
  123. package/dist/utils/operations.d.ts +0 -21
  124. package/dist/utils/others.d.ts +0 -6
  125. package/dist/utils/strings.d.ts +0 -44
  126. package/dist/utils/tree.d.ts +0 -43
  127. package/dist/utils/viewTabs.d.ts +0 -20
@@ -1,13 +0,0 @@
1
- import { OperationPostInvokeAny, OperationPreInvoke } from '../../interfaces';
2
- import { AnyAction } from '@reduxjs/toolkit';
3
- /**
4
- * Returns an array of observables for handling post- and pre-invokes from any epics handling operations
5
- *
6
- * @param widgetName Name of the widget that initiated the operation
7
- * @param postInvoke Response post-invoke
8
- * @param preInvoke Response pre-invoke
9
- * @param operationType Which operation was performed
10
- * @param bcName
11
- * @category Utils
12
- */
13
- export declare function postOperationRoutine(widgetName: string, postInvoke: OperationPostInvokeAny, preInvoke: OperationPreInvoke, operationType: string, bcName: string): import("rxjs").Observable<AnyAction>[];
@@ -1,7 +0,0 @@
1
- import { CXBoxEpic } from '../../interfaces';
2
- /**
3
- * Clears descendant business components pending changes on cursor change
4
- *
5
- * TODO: Review required as it might be no longer valid due to autosave middleware implementation
6
- */
7
- export declare const clearPendingDataChangesAfterCursorChangeEpic: CXBoxEpic;
@@ -1,11 +0,0 @@
1
- import { CXBoxEpic } from '../../interfaces';
2
- /**
3
- * It sends customAction request for `file-upload-save` endpoint with `bulkIds` dataEpics.ts
4
- * containing ids of uploaded files.
5
- * On success it fires `sendOperationSuccess`, `bcForceUpdate` and `closeViewPopup` actions
6
- * to refresh business component and close popup.
7
- *
8
- * It also launces postOperationRoutine to handle pre and post invokes.
9
- *
10
- */
11
- export declare const fileUploadConfirmEpic: CXBoxEpic;
@@ -1,5 +0,0 @@
1
- import { CXBoxEpic } from '../../interfaces';
2
- /**
3
- * Sends row meta request when `forceActive` field fires `onChange`
4
- */
5
- export declare const getRowMetaByForceActiveEpic: CXBoxEpic;
@@ -1,9 +0,0 @@
1
- export * from './sendOperationEpic';
2
- export * from './showAssocPopupEpic';
3
- export * from './fileUploadConfirmEpic';
4
- export * from './selectTableCellInitEpic';
5
- export * from './showFileUploadPopupEpic';
6
- export * from './sendOperationAssociateEpic';
7
- export * from './getRowMetaByForceActiveEpic';
8
- export * from './showAllTableRecordsInitEpic';
9
- export * from './clearPendingDataChangesAfterCursorChangeEpic';
@@ -1,2 +0,0 @@
1
- import { CXBoxEpic } from '../../interfaces';
2
- export declare const selectTableCellInitEpic: CXBoxEpic;
@@ -1,5 +0,0 @@
1
- import { CXBoxEpic } from '../../interfaces';
2
- /**
3
- * Opens a popup with associate component.
4
- */
5
- export declare const sendOperationAssociateEpic: CXBoxEpic;
@@ -1,10 +0,0 @@
1
- import { CXBoxEpic } from '../../interfaces';
2
- /**
3
- * Handle any `sendOperationEpic` action which is not part of built-in operations types
4
- *
5
- * Request will be send to `custom-action/${screenName}/${bcUrl}?_action=${action.payload.type}` endpoint,
6
- * with pending changes of the widget as requst body.
7
- *
8
- * Fires sendOperationSuccess, bcForceUpdate and postOperationRoutine
9
- */
10
- export declare const sendOperationEpic: CXBoxEpic;
@@ -1,2 +0,0 @@
1
- import { CXBoxEpic } from '../../interfaces';
2
- export declare const showAllTableRecordsInitEpic: CXBoxEpic;
@@ -1,2 +0,0 @@
1
- import { CXBoxEpic } from '../../interfaces';
2
- export declare const showAssocPopupEpic: CXBoxEpic;
@@ -1,5 +0,0 @@
1
- import { CXBoxEpic } from '../../interfaces';
2
- /**
3
- * Fires `bcChangeCursors` and `showFileUploadPopupEpic` to drop the cursors and show file upload popup.
4
- */
5
- export declare const showFileUploadPopupEpic: CXBoxEpic;
package/dist/index.d.ts DELETED
@@ -1,7 +0,0 @@
1
- export * as reducers from './reducers';
2
- export * as actions from './actions';
3
- export * as epics from './epics';
4
- export { Api } from './api';
5
- export * as utils from './utils';
6
- export * as interfaces from './interfaces';
7
- export { middlewares } from './middlewares';
@@ -1,79 +0,0 @@
1
- /**
2
- * Interfaces for Business Component
3
- */
4
- import { FilterGroup } from './filters';
5
- /**
6
- * Meta data.ts for Business Component
7
- */
8
- export interface BcMeta {
9
- /**
10
- * Name of Business Component
11
- */
12
- name: string;
13
- /**
14
- * Name of parent Business Component
15
- */
16
- parentName: string | null;
17
- /**
18
- * TODO: desc, example
19
- */
20
- url: string;
21
- /**
22
- * Currently active record
23
- */
24
- cursor: string | null;
25
- /**
26
- * String representation of default bc sorters
27
- *
28
- * "_sort.{order}.{direction}={fieldKey}&_sort.{order}.{direction}"
29
- *
30
- * @param fieldKey Sort by field
31
- * @param order Priority of this specific sorter
32
- * @param direction "asc" or "desc"
33
- * i.e. "_sort.0.asc=firstName"
34
- */
35
- defaultSort?: string;
36
- /**
37
- * Predefined filters
38
- */
39
- filterGroups?: FilterGroup[];
40
- /**
41
- * String representation of default bc filters
42
- *
43
- * "{fieldKey}.contains={someValue}"
44
- *
45
- * @param fieldKey Filtering field
46
- * @param someValue Filter value
47
- * i.e. "someField1.contains=someValue&someField2.equalsOneOf=%5B%22someValue1%22%2C%22someValue2%22%5D"
48
- */
49
- defaultFilter?: string;
50
- }
51
- export type DepthBcType = Record<number, {
52
- loading?: boolean;
53
- cursor?: string;
54
- }>;
55
- export interface BcMetaState extends BcMeta {
56
- /**
57
- * Data fetch for this business component is in progress
58
- */
59
- loading?: boolean;
60
- /**
61
- * Number of the page to fetch
62
- */
63
- page?: number;
64
- /**
65
- * Page limit to fetch
66
- */
67
- limit?: number;
68
- /**
69
- * There is an addional pages of data.ts to fetch
70
- */
71
- hasNext?: boolean;
72
- /**
73
- * Stores a selected cursor and loading state per depth level.
74
- *
75
- * Used by hierarchy widgets builded around single business component:
76
- * controls which record is expanded and which children should be fetched.
77
- */
78
- depthBc?: DepthBcType;
79
- }
@@ -1,15 +0,0 @@
1
- /**
2
- * This module includes types to support overriding redux-observable Epics that we use in Cxbox UI by
3
- * custom implementations from client application.
4
- */
5
- import { Epic } from 'redux-observable';
6
- import { AnyAction } from '@reduxjs/toolkit';
7
- import { Store } from './store';
8
- import { Api } from '../api';
9
- export interface EpicDependencyInjection<A = Api> {
10
- api: A;
11
- }
12
- /**
13
- * Default Epic typing with dependency injection
14
- */
15
- export type CXBoxEpic<S = Store, A = Api> = Epic<AnyAction, AnyAction, S, EpicDependencyInjection<A>>;
@@ -1,35 +0,0 @@
1
- import { Middleware } from 'redux';
2
- import { middlewares } from '../middlewares';
3
- /**
4
- * Type of core middlewares
5
- */
6
- export type CoreMiddlewares = typeof middlewares;
7
- /**
8
- * Custom middleware interface
9
- */
10
- export interface CustomMiddleware {
11
- /**
12
- * Implementation of custom middleware
13
- */
14
- implementation: Middleware;
15
- /**
16
- * Priority of custom middleware
17
- */
18
- priority: 'BEFORE' | 'AFTER';
19
- }
20
- /**
21
- * List the names of all core middlewares
22
- */
23
- export type CoreMiddlewareType = keyof CoreMiddlewares;
24
- /**
25
- * Descriptor of custom middleware not presented in core middlewares
26
- */
27
- export type NewMiddlewareDescriptor<T = Record<string, unknown>> = Record<Exclude<keyof T, keyof CoreMiddlewares>, CustomMiddleware>;
28
- /**
29
- * Form a dictionary of override descriptors for those middleware
30
- */
31
- export type CoreMiddlewareOverrideDescriptors = Record<CoreMiddlewareType, Middleware | null>;
32
- /**
33
- * Type of custom middlewares
34
- */
35
- export type CustomMiddlewares<T = Record<string, unknown>> = Partial<CoreMiddlewareOverrideDescriptors> | NewMiddlewareDescriptor<T>;
@@ -1,48 +0,0 @@
1
- import { OperationPostInvokeAny, OperationPreInvoke } from './operation';
2
- import { DataValue, DataItem } from '@cxbox-ui/schema';
3
- export type { DataValue, DataItem, MultivalueSingleValue, MultivalueSingleValueOptions, RecordSnapshotState } from '@cxbox-ui/schema';
4
- /**
5
- * API's response on Business Component's data.ts request
6
- */
7
- export interface BcDataResponse {
8
- data: DataItem[];
9
- hasNext: boolean;
10
- }
11
- /**
12
- * Edited changes
13
- */
14
- export interface PendingDataItem {
15
- [fieldName: string]: DataValue;
16
- }
17
- /**
18
- * State of `data.ts` in global store
19
- */
20
- export interface DataState {
21
- [bcName: string]: DataItem[];
22
- }
23
- export interface DepthDataState {
24
- [depth: number]: {
25
- [bcName: string]: DataItem[];
26
- };
27
- }
28
- /**
29
- * Result of saving record, which back-end returns
30
- */
31
- export interface DataItemResponse {
32
- data: {
33
- /**
34
- * Saved record
35
- */
36
- record: DataItem;
37
- /**
38
- * Actions which have to do after saving
39
- */
40
- postActions?: OperationPostInvokeAny[];
41
- preInvoke?: OperationPreInvoke;
42
- };
43
- }
44
- /**
45
- * `x` is name of field, for which the value will be set up.
46
- * A value of `x` is name of field, from which the value will be gotten.
47
- */
48
- export type PickMap = Record<string, string>;
@@ -1,32 +0,0 @@
1
- import { DataValue } from './data';
2
- export declare enum FilterType {
3
- /**
4
- * Transforms into combination of 'greaterOrEqualThan' and 'lessOrEqualThan' (See src/utils/filters.ts)
5
- */
6
- range = "range",
7
- equals = "equals",
8
- greaterThan = "greaterThan",
9
- lessThan = "lessThan",
10
- greaterOrEqualThan = "greaterOrEqualThan",
11
- lessOrEqualThan = "lessOrEqualThan",
12
- contains = "contains",
13
- specified = "specified",
14
- specifiedBooleanSql = "specifiedBooleanSql",
15
- equalsOneOf = "equalsOneOf",
16
- containsOneOf = "containsOneOf"
17
- }
18
- export interface BcFilter {
19
- type: FilterType;
20
- fieldName: string;
21
- value: DataValue | DataValue[];
22
- viewName?: string;
23
- widgetName?: string;
24
- }
25
- export interface BcSorter {
26
- fieldName: string;
27
- direction: 'asc' | 'desc';
28
- }
29
- export interface FilterGroup {
30
- name: string;
31
- filters: string;
32
- }
@@ -1,27 +0,0 @@
1
- /**
2
- * Types exports of Cxbox UI.
3
- *
4
- * Can be imported as:
5
- *
6
- * `import {typeName} from '@cxbox-ui/core/interfaces/moduleName'`
7
- *
8
- * @packageDocumentation
9
- * @module Types
10
- */
11
- export type { BcMeta, BcMetaState } from './bc';
12
- export type { DataValue, DataItem, MultivalueSingleValue, MultivalueSingleValueOptions, RecordSnapshotState, PendingDataItem, DataItemResponse, BcDataResponse, DataState, DepthDataState, PickMap } from './data';
13
- export type { SystemNotification, CxboxResponse, ObjectMap } from './objectMap';
14
- export { AppNotificationType } from './objectMap';
15
- export * from './router';
16
- export * from './screen';
17
- export * from './customMiddlewares';
18
- export * from './session';
19
- export * from './store';
20
- export * from './view';
21
- export * from './widget';
22
- export * from './operation';
23
- export * from './rowMeta';
24
- export * from './filters';
25
- export * from './customEpics';
26
- export * from './navigation';
27
- export * from './tree';
@@ -1,48 +0,0 @@
1
- import { ViewNavigationGroup, MenuItem, ViewNavigationCategory, ViewNavigationItem } from '@cxbox-ui/schema';
2
- export type { ViewNavigationGroup, MenuItem, ViewNavigationCategory, ViewNavigationItem } from '@cxbox-ui/schema';
3
- /**
4
- * Returns MenuItem if it is ViewNavigationItem
5
- *
6
- * @param item to be identified as view
7
- * @category Type Guards
8
- */
9
- export declare function isViewNavigationItem(item: MenuItem): item is ViewNavigationItem;
10
- /**
11
- * @param item
12
- * @deprecated ViewNavigationCategory will be deleted in 2.0.0
13
- * @category Type Guards
14
- */
15
- export declare function isViewNavigationCategory(item: any): item is ViewNavigationCategory;
16
- /**
17
- * Returns MenuItem if it is ViewNavigationGroup
18
- *
19
- * @param item to be identified as group
20
- * @category Type Guards
21
- */
22
- export declare function isViewNavigationGroup(item: MenuItem): item is ViewNavigationGroup;
23
- /**
24
- * 1 - for static, top level navigation
25
- * 2 - `SecondLevelMenu` tab widgets
26
- * 2 - `ThirdLevelMenu` tab widgets
27
- * 2 - `FourthLevelMenu` tab widgets
28
- */
29
- export type NavigationLevel = 1 | 2 | 3 | 4;
30
- /**
31
- * Model for displayed tab item
32
- */
33
- export interface NavigationTab {
34
- /**
35
- * View name where navigation tab will redirect the user
36
- */
37
- viewName: string;
38
- /**
39
- * Displayed title: either view name or a group name
40
- */
41
- title?: string;
42
- /**
43
- * When true, menu item will not be visible
44
- *
45
- * It's still will be accessible through direct link though
46
- */
47
- hidden?: boolean;
48
- }
@@ -1,36 +0,0 @@
1
- /**
2
- * A dictionary for a values of specified type
3
- *
4
- * @deprecated TODO: Remove in 2.0.0 in favor of native `Record` type
5
- *
6
- * @template T Value type
7
- */
8
- export interface ObjectMap<T> {
9
- [key: string]: T | undefined;
10
- }
11
- /**
12
- * Basic type for Cxbox API responses
13
- *
14
- * TODO: Move this to a an appropriate module
15
- */
16
- export type CxboxResponse = {
17
- /**
18
- * If any response returs with this field, browser should redirect on this address
19
- */
20
- redirectUrl?: string;
21
- [x: string]: any;
22
- };
23
- /**
24
- * Types of notification messages
25
- */
26
- export declare enum AppNotificationType {
27
- success = "success",
28
- info = "info",
29
- warning = "warning",
30
- error = "error"
31
- }
32
- export interface SystemNotification {
33
- id: number;
34
- type: AppNotificationType;
35
- message: string;
36
- }