@codeleap/mobile 4.2.18 → 4.3.1

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 (204) hide show
  1. package/dist/components/ActivityIndicator/types.d.ts +1 -1
  2. package/dist/components/Autocomplete/index.js +2 -1
  3. package/dist/components/Autocomplete/index.js.map +1 -1
  4. package/dist/components/Autocomplete/types.d.ts +2 -1
  5. package/dist/components/Avatar/index.js +3 -1
  6. package/dist/components/Avatar/index.js.map +1 -1
  7. package/dist/components/Badge/index.js +1 -1
  8. package/dist/components/Badge/index.js.map +1 -1
  9. package/dist/components/Badge/types.d.ts +1 -1
  10. package/dist/components/Button/styles.d.ts +1 -1
  11. package/dist/components/Calendar/index.js +1 -1
  12. package/dist/components/Calendar/index.js.map +1 -1
  13. package/dist/components/Calendar/types.d.ts +1 -1
  14. package/dist/components/DatePickerModal/index.js +3 -1
  15. package/dist/components/DatePickerModal/index.js.map +1 -1
  16. package/dist/components/DatePickerModal/types.d.ts +2 -1
  17. package/dist/components/FileInput/index.js +1 -1
  18. package/dist/components/FileInput/index.js.map +1 -1
  19. package/dist/components/FileInput/types.d.ts +2 -1
  20. package/dist/components/Icon/index.js +2 -1
  21. package/dist/components/Icon/index.js.map +1 -1
  22. package/dist/components/Image/index.js +2 -1
  23. package/dist/components/Image/index.js.map +1 -1
  24. package/dist/components/Image/types.d.ts +1 -1
  25. package/dist/components/ImageView/Spotlight.js +3 -1
  26. package/dist/components/ImageView/Spotlight.js.map +1 -1
  27. package/dist/components/ImageView/component.d.ts +1 -1
  28. package/dist/components/ImageView/component.js +1 -1
  29. package/dist/components/ImageView/component.js.map +1 -1
  30. package/dist/components/InputBase/index.js +2 -1
  31. package/dist/components/InputBase/index.js.map +1 -1
  32. package/dist/components/InputBase/styles.js +1 -1
  33. package/dist/components/InputBase/styles.js.map +1 -1
  34. package/dist/components/InputBase/types.d.ts +1 -1
  35. package/dist/components/List/index.js +2 -1
  36. package/dist/components/List/index.js.map +1 -1
  37. package/dist/components/Modal/index.js +1 -1
  38. package/dist/components/Modal/index.js.map +1 -1
  39. package/dist/components/Modal/types.d.ts +1 -1
  40. package/dist/components/Navigation/Navigation.js +1 -1
  41. package/dist/components/Navigation/Navigation.js.map +1 -1
  42. package/dist/components/NumberIncrement/index.js +2 -1
  43. package/dist/components/NumberIncrement/index.js.map +1 -1
  44. package/dist/components/NumberIncrement/types.d.ts +2 -1
  45. package/dist/components/Pager/PagerDots.d.ts +1 -1
  46. package/dist/components/Pager/index.js +2 -1
  47. package/dist/components/Pager/index.js.map +1 -1
  48. package/dist/components/PaginationIndicator/index.js +1 -1
  49. package/dist/components/PaginationIndicator/index.js.map +1 -1
  50. package/dist/components/PlacesAutocomplete/index.js +1 -1
  51. package/dist/components/PlacesAutocomplete/index.js.map +1 -1
  52. package/dist/components/PlacesAutocomplete/types.d.ts +1 -1
  53. package/dist/components/RadioInput/index.js +1 -1
  54. package/dist/components/RadioInput/index.js.map +1 -1
  55. package/dist/components/RadioInput/types.d.ts +2 -1
  56. package/dist/components/Scroll/index.js +2 -1
  57. package/dist/components/Scroll/index.js.map +1 -1
  58. package/dist/components/SearchInput/index.js +1 -1
  59. package/dist/components/SearchInput/index.js.map +1 -1
  60. package/dist/components/SectionFilters/index.js +2 -1
  61. package/dist/components/SectionFilters/index.js.map +1 -1
  62. package/dist/components/SectionFilters/useSectionFilters.js +2 -1
  63. package/dist/components/SectionFilters/useSectionFilters.js.map +1 -1
  64. package/dist/components/Sections/index.js +2 -1
  65. package/dist/components/Sections/index.js.map +1 -1
  66. package/dist/components/SegmentedControl/Option.d.ts +1 -1
  67. package/dist/components/SegmentedControl/styles.d.ts +1 -1
  68. package/dist/components/SegmentedControl/types.d.ts +1 -1
  69. package/dist/components/Select/index.js +2 -1
  70. package/dist/components/Select/index.js.map +1 -1
  71. package/dist/components/Select/types.d.ts +2 -1
  72. package/dist/components/Slider/index.js +2 -1
  73. package/dist/components/Slider/index.js.map +1 -1
  74. package/dist/components/SortablePhotos/useSortablePhotos.d.ts +1 -1
  75. package/dist/components/SortablePhotos/useSortablePhotos.js +3 -3
  76. package/dist/components/SortablePhotos/useSortablePhotos.js.map +1 -1
  77. package/dist/components/Text/index.js +1 -1
  78. package/dist/components/Text/index.js.map +1 -1
  79. package/dist/components/Text/styles.d.ts +1 -1
  80. package/dist/components/TextInput/index.js +3 -1
  81. package/dist/components/TextInput/index.js.map +1 -1
  82. package/dist/components/TextInput/types.d.ts +2 -1
  83. package/dist/components/Touchable/index.js +3 -1
  84. package/dist/components/Touchable/index.js.map +1 -1
  85. package/dist/components/Touchable/types.d.ts +1 -1
  86. package/dist/components/View/types.d.ts +1 -1
  87. package/dist/modules/types/textInputMask.d.ts +1 -1
  88. package/dist/utils/KeyboardAware/keyboardHooks.js +1 -1
  89. package/dist/utils/KeyboardAware/keyboardHooks.js.map +1 -1
  90. package/dist/utils/MobilePermissionManager/Permission.d.ts +19 -0
  91. package/dist/utils/MobilePermissionManager/Permission.js +65 -0
  92. package/dist/utils/MobilePermissionManager/Permission.js.map +1 -0
  93. package/dist/utils/MobilePermissionManager/PermissionManager.d.ts +24 -0
  94. package/dist/utils/MobilePermissionManager/PermissionManager.js +84 -0
  95. package/dist/utils/MobilePermissionManager/PermissionManager.js.map +1 -0
  96. package/dist/utils/MobilePermissionManager/index.d.ts +3 -0
  97. package/dist/utils/MobilePermissionManager/index.js +5 -0
  98. package/dist/utils/MobilePermissionManager/index.js.map +1 -0
  99. package/dist/utils/MobilePermissionManager/types.d.ts +32 -0
  100. package/dist/utils/MobilePermissionManager/types.js +2 -0
  101. package/dist/utils/MobilePermissionManager/types.js.map +1 -0
  102. package/dist/utils/ModalManager/components.d.ts +1 -1
  103. package/dist/utils/ModalManager/components.js +1 -1
  104. package/dist/utils/ModalManager/components.js.map +1 -1
  105. package/dist/utils/ModalManager/context.d.ts +1 -1
  106. package/dist/utils/ModalManager/context.js +2 -1
  107. package/dist/utils/ModalManager/context.js.map +1 -1
  108. package/dist/utils/NotificationManager/index.d.ts +2 -2
  109. package/dist/utils/NotificationManager/index.js +1 -1
  110. package/dist/utils/NotificationManager/index.js.map +1 -1
  111. package/dist/utils/NotificationManager/types.d.ts +1 -1
  112. package/dist/utils/PermissionManager/context.d.ts +1 -1
  113. package/dist/utils/PermissionManager/context.js +2 -1
  114. package/dist/utils/PermissionManager/context.js.map +1 -1
  115. package/dist/utils/PermissionManager/types.d.ts +1 -1
  116. package/dist/utils/StorageManager.d.ts +1 -1
  117. package/dist/utils/hooks.js +3 -1
  118. package/dist/utils/hooks.js.map +1 -1
  119. package/dist/utils/index.d.ts +1 -0
  120. package/dist/utils/index.js +1 -0
  121. package/dist/utils/index.js.map +1 -1
  122. package/dist/utils/misc.d.ts +1 -1
  123. package/dist/utils/misc.js +2 -1
  124. package/dist/utils/misc.js.map +1 -1
  125. package/dist/utils/useQueryListRefresh.d.ts +2 -1
  126. package/dist/utils/useQueryListRefresh.js +1 -1
  127. package/dist/utils/useQueryListRefresh.js.map +1 -1
  128. package/package.json +19 -5
  129. package/package.json.bak +18 -4
  130. package/src/components/ActivityIndicator/types.ts +1 -1
  131. package/src/components/Autocomplete/index.tsx +3 -1
  132. package/src/components/Autocomplete/types.ts +2 -1
  133. package/src/components/Avatar/index.tsx +3 -1
  134. package/src/components/Badge/index.tsx +2 -2
  135. package/src/components/Badge/types.ts +1 -1
  136. package/src/components/Button/index.tsx +1 -1
  137. package/src/components/Button/styles.ts +1 -1
  138. package/src/components/Calendar/index.tsx +1 -1
  139. package/src/components/Calendar/types.ts +1 -2
  140. package/src/components/DatePickerModal/index.tsx +3 -1
  141. package/src/components/DatePickerModal/types.ts +2 -1
  142. package/src/components/FileInput/index.tsx +2 -1
  143. package/src/components/FileInput/types.ts +2 -1
  144. package/src/components/Icon/index.tsx +2 -1
  145. package/src/components/Image/index.tsx +2 -1
  146. package/src/components/Image/types.ts +1 -1
  147. package/src/components/ImageView/Spotlight.tsx +3 -1
  148. package/src/components/ImageView/component.tsx +3 -1
  149. package/src/components/InputBase/index.tsx +2 -1
  150. package/src/components/InputBase/styles.ts +1 -1
  151. package/src/components/InputBase/types.ts +1 -1
  152. package/src/components/List/index.tsx +2 -1
  153. package/src/components/Modal/index.tsx +1 -1
  154. package/src/components/Modal/types.ts +1 -1
  155. package/src/components/Navigation/Navigation.tsx +1 -1
  156. package/src/components/NumberIncrement/index.tsx +2 -1
  157. package/src/components/NumberIncrement/types.ts +2 -1
  158. package/src/components/Pager/PagerDots.tsx +1 -1
  159. package/src/components/Pager/index.tsx +2 -1
  160. package/src/components/PaginationIndicator/index.tsx +1 -1
  161. package/src/components/PlacesAutocomplete/index.tsx +1 -1
  162. package/src/components/PlacesAutocomplete/types.ts +1 -1
  163. package/src/components/RadioInput/index.tsx +1 -1
  164. package/src/components/RadioInput/types.ts +2 -1
  165. package/src/components/Scroll/index.tsx +2 -1
  166. package/src/components/SearchInput/index.tsx +1 -1
  167. package/src/components/SectionFilters/index.tsx +2 -1
  168. package/src/components/SectionFilters/useSectionFilters.tsx +2 -1
  169. package/src/components/Sections/index.tsx +2 -1
  170. package/src/components/SegmentedControl/Option.tsx +1 -1
  171. package/src/components/SegmentedControl/styles.ts +1 -1
  172. package/src/components/SegmentedControl/types.ts +1 -1
  173. package/src/components/Select/index.tsx +3 -3
  174. package/src/components/Select/types.ts +2 -1
  175. package/src/components/Slider/index.tsx +2 -1
  176. package/src/components/SortablePhotos/useSortablePhotos.ts +3 -3
  177. package/src/components/Text/index.tsx +1 -1
  178. package/src/components/Text/styles.ts +1 -1
  179. package/src/components/TextInput/index.tsx +3 -1
  180. package/src/components/TextInput/types.ts +2 -1
  181. package/src/components/Touchable/index.tsx +3 -1
  182. package/src/components/Touchable/types.ts +1 -1
  183. package/src/components/View/types.ts +1 -1
  184. package/src/modules/types/textInputMask.ts +1 -1
  185. package/src/utils/KeyboardAware/keyboardHooks.ts +1 -1
  186. package/src/utils/MobilePermissionManager/Permission.ts +79 -0
  187. package/src/utils/MobilePermissionManager/PermissionManager.ts +124 -0
  188. package/src/utils/MobilePermissionManager/index.ts +3 -0
  189. package/src/utils/MobilePermissionManager/types.ts +44 -0
  190. package/src/utils/ModalManager/components.tsx +2 -1
  191. package/src/utils/ModalManager/context.tsx +2 -1
  192. package/src/utils/NotificationManager/index.ts +2 -1
  193. package/src/utils/NotificationManager/types.ts +1 -1
  194. package/src/utils/PermissionManager/context.tsx +3 -1
  195. package/src/utils/PermissionManager/types.ts +1 -1
  196. package/src/utils/StorageManager.ts +1 -1
  197. package/src/utils/hooks.ts +3 -1
  198. package/src/utils/index.ts +1 -0
  199. package/src/utils/misc.ts +2 -1
  200. package/src/utils/useQueryListRefresh.ts +2 -1
  201. package/dist/utils/deprecated/notifications.d.ts +0 -40
  202. package/dist/utils/deprecated/notifications.js +0 -167
  203. package/dist/utils/deprecated/notifications.js.map +0 -1
  204. package/src/utils/deprecated/notifications.ts +0 -213
@@ -1,167 +0,0 @@
1
- import { silentLogger } from '@codeleap/common';
2
- // @ts-ignore
3
- import { firebase } from '@react-native-firebase/messaging';
4
- const messaging = firebase.messaging;
5
- const MODULE = 'Notifications';
6
- /**
7
- * Class responsible for the notification system
8
- *
9
- * @deprecated Use the most updated version
10
- * @note check the documentation to make the migration
11
- */
12
- export class NotificationManager {
13
- logger;
14
- autoHandleInitialNotification;
15
- stateChangeListeners = [];
16
- messageListeners = [];
17
- _initialized = false;
18
- unsubscribeFromMessage = null;
19
- unsubscribeFromBackgroundMessage = null;
20
- unsubscribeFromPress = null;
21
- _currentToken = null;
22
- _initialNoficationHandled = false;
23
- constructor(logger = silentLogger, autoHandleInitialNotification = true) {
24
- this.logger = logger;
25
- this.autoHandleInitialNotification = autoHandleInitialNotification;
26
- }
27
- async init() {
28
- // return
29
- if (this.initialized)
30
- return;
31
- try {
32
- await messaging().registerDeviceForRemoteMessages();
33
- // logger.log('firebase registeted', '', MODULE)
34
- const token = await messaging().getToken();
35
- // logger.log('init token', { token }, MODULE)
36
- if (token) {
37
- this.currentToken = token;
38
- this.initialized = true;
39
- }
40
- else {
41
- this.currentToken = null;
42
- this.initialized = false;
43
- }
44
- messaging().onTokenRefresh(newToken => {
45
- // logger.log('onTokenRefresh', { newToken }, MODULE)
46
- if (token) {
47
- this.currentToken = newToken;
48
- this.initialized = true;
49
- }
50
- else {
51
- this.currentToken = null;
52
- this.initialized = false;
53
- }
54
- });
55
- // logger.log('init success', {}, MODULE)
56
- }
57
- catch (e) {
58
- this.logger.error('Failed to initialize notification services', e, MODULE);
59
- // OSAlert.error({ title: 'Failed to initialize notification services' })
60
- }
61
- }
62
- async deinit() {
63
- [
64
- this.unsubscribeFromMessage,
65
- this.unsubscribeFromBackgroundMessage,
66
- this.unsubscribeFromPress,
67
- ].forEach(unsubscribe => {
68
- if (unsubscribe) {
69
- unsubscribe();
70
- }
71
- });
72
- this.initialized = false;
73
- }
74
- async handleNotification(args) {
75
- for (const listener of this.messageListeners) {
76
- await listener(args.data, args.type);
77
- }
78
- }
79
- get currentToken() {
80
- return this._currentToken;
81
- }
82
- set currentToken(token) {
83
- this._currentToken = token;
84
- this.triggerStateChange();
85
- }
86
- get initialized() {
87
- return this._initialized;
88
- }
89
- set initialized(to) {
90
- if (to) {
91
- this.logger.info('Initialized', '', MODULE);
92
- this.unsubscribeFromMessage = messaging().onMessage((msg) => {
93
- this.handleNotification({
94
- data: msg,
95
- type: 'foreground',
96
- });
97
- });
98
- this.unsubscribeFromBackgroundMessage = messaging().setBackgroundMessageHandler(async (msg) => {
99
- this.handleNotification({
100
- data: msg,
101
- type: 'background',
102
- });
103
- });
104
- this.unsubscribeFromPress = messaging().onNotificationOpenedApp(msg => {
105
- this.logger.info('Notification press', msg, MODULE);
106
- this.handleNotification({
107
- data: msg,
108
- type: 'press',
109
- });
110
- });
111
- if (!this._initialNoficationHandled && this.autoHandleInitialNotification) {
112
- this.getInitialNotification().then(msg => {
113
- if (!msg.data)
114
- return;
115
- this.logger.info('Notification initial', msg, MODULE);
116
- this.handleNotification(msg).then(() => {
117
- this._initialNoficationHandled = true;
118
- }).catch(e => {
119
- this._initialNoficationHandled = true;
120
- this.logger.error('Error handling initial notification', e, MODULE);
121
- });
122
- });
123
- }
124
- }
125
- else {
126
- this.unsubscribeFromMessage = null;
127
- this.unsubscribeFromBackgroundMessage = null;
128
- this.unsubscribeFromPress = null;
129
- this.logger.info('Deinitialized', '', MODULE);
130
- }
131
- this._initialized = to;
132
- this.triggerStateChange();
133
- }
134
- onNotification(handler) {
135
- const newLen = this.messageListeners.push(handler);
136
- return () => {
137
- this.messageListeners.splice(newLen - 1, 1);
138
- };
139
- }
140
- triggerStateChange() {
141
- this.stateChangeListeners.forEach(l => {
142
- l(this._initialized, this.currentToken);
143
- });
144
- }
145
- onStateChange(handler) {
146
- const newLen = this.stateChangeListeners.push(handler);
147
- return () => {
148
- this.stateChangeListeners.splice(newLen - 1, 1);
149
- };
150
- }
151
- async getInitialNotification() {
152
- try {
153
- const msg = await messaging().getInitialNotification();
154
- return {
155
- data: msg,
156
- type: 'initial',
157
- };
158
- }
159
- catch (e) {
160
- return {
161
- data: null,
162
- type: 'initial',
163
- };
164
- }
165
- }
166
- }
167
- //# sourceMappingURL=notifications.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"notifications.js","sourceRoot":"","sources":["../../../src/utils/deprecated/notifications.ts"],"names":[],"mappings":"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"}
@@ -1,213 +0,0 @@
1
- import { FunctionType, silentLogger } from '@codeleap/common'
2
- // @ts-ignore
3
- import { firebase, FirebaseMessagingTypes } from '@react-native-firebase/messaging'
4
-
5
- const messaging = firebase.messaging
6
-
7
- const MODULE = 'Notifications'
8
-
9
- export type Message = FirebaseMessagingTypes.RemoteMessage
10
- export type MessageType = 'foreground' | 'background' | 'press' | 'initial'
11
-
12
- export type NotificationHandler = FunctionType<[message: Message, type: MessageType], any>
13
-
14
- export type HandleNotificationParam = {
15
- data: Message
16
- type: MessageType
17
- }
18
-
19
- export type NotificationStateChangeListener = FunctionType<[isInitialized: boolean, token?: string], any>
20
-
21
- /**
22
- * Class responsible for the notification system
23
- *
24
- * @deprecated Use the most updated version
25
- * @note check the documentation to make the migration
26
- */
27
- export class NotificationManager {
28
-
29
- stateChangeListeners:NotificationStateChangeListener[] = []
30
-
31
- messageListeners:NotificationHandler[] = []
32
-
33
- _initialized = false
34
-
35
- unsubscribeFromMessage = null
36
-
37
- unsubscribeFromBackgroundMessage = null
38
-
39
- unsubscribeFromPress = null
40
-
41
- _currentToken = null
42
-
43
- _initialNoficationHandled = false
44
-
45
- constructor(private logger = silentLogger, public autoHandleInitialNotification = true) {
46
- }
47
-
48
- async init() {
49
- // return
50
- if (this.initialized) return
51
-
52
- try {
53
-
54
- await messaging().registerDeviceForRemoteMessages()
55
- // logger.log('firebase registeted', '', MODULE)
56
-
57
- const token = await messaging().getToken()
58
- // logger.log('init token', { token }, MODULE)
59
-
60
- if (token) {
61
- this.currentToken = token
62
-
63
- this.initialized = true
64
- } else {
65
- this.currentToken = null
66
- this.initialized = false
67
- }
68
-
69
- messaging().onTokenRefresh(newToken => {
70
- // logger.log('onTokenRefresh', { newToken }, MODULE)
71
- if (token) {
72
- this.currentToken = newToken
73
-
74
- this.initialized = true
75
- } else {
76
- this.currentToken = null
77
- this.initialized = false
78
- }
79
-
80
- })
81
- // logger.log('init success', {}, MODULE)
82
- } catch (e) {
83
- this.logger.error('Failed to initialize notification services', e, MODULE)
84
- // OSAlert.error({ title: 'Failed to initialize notification services' })
85
- }
86
- }
87
-
88
- async deinit() {
89
- [
90
- this.unsubscribeFromMessage,
91
- this.unsubscribeFromBackgroundMessage,
92
- this.unsubscribeFromPress,
93
- ].forEach(unsubscribe => {
94
- if (unsubscribe) {
95
- unsubscribe()
96
- }
97
- })
98
-
99
- this.initialized = false
100
- }
101
-
102
- private async handleNotification(args:HandleNotificationParam) {
103
- for (const listener of this.messageListeners) {
104
- await listener(args.data, args.type)
105
- }
106
- }
107
-
108
- get currentToken() {
109
- return this._currentToken
110
- }
111
-
112
- set currentToken(token: string) {
113
- this._currentToken = token
114
- this.triggerStateChange()
115
- }
116
-
117
- get initialized() {
118
- return this._initialized
119
- }
120
-
121
- set initialized(to:boolean) {
122
-
123
- if (to) {
124
- this.logger.info('Initialized', '', MODULE)
125
- this.unsubscribeFromMessage = messaging().onMessage((msg) => {
126
- this.handleNotification({
127
- data: msg,
128
- type: 'foreground',
129
- })
130
- })
131
-
132
- this.unsubscribeFromBackgroundMessage = messaging().setBackgroundMessageHandler(async (msg) => {
133
- this.handleNotification({
134
- data: msg,
135
- type: 'background',
136
- })
137
- })
138
-
139
- this.unsubscribeFromPress = messaging().onNotificationOpenedApp(msg => {
140
- this.logger.info('Notification press', msg, MODULE)
141
- this.handleNotification({
142
- data: msg,
143
- type: 'press',
144
- })
145
- })
146
-
147
- if (!this._initialNoficationHandled && this.autoHandleInitialNotification) {
148
- this.getInitialNotification().then(msg => {
149
- if (!msg.data) return
150
- this.logger.info('Notification initial', msg, MODULE)
151
- this.handleNotification(msg).then(() => {
152
- this._initialNoficationHandled = true
153
- }).catch(e => {
154
- this._initialNoficationHandled = true
155
- this.logger.error('Error handling initial notification', e, MODULE)
156
- })
157
- })
158
- }
159
- } else {
160
- this.unsubscribeFromMessage = null
161
-
162
- this.unsubscribeFromBackgroundMessage = null
163
-
164
- this.unsubscribeFromPress = null
165
-
166
- this.logger.info('Deinitialized', '', MODULE)
167
- }
168
- this._initialized = to
169
-
170
- this.triggerStateChange()
171
- }
172
-
173
- onNotification(handler:NotificationHandler) {
174
- const newLen = this.messageListeners.push(handler)
175
-
176
- return () => {
177
- this.messageListeners.splice(newLen - 1, 1)
178
- }
179
- }
180
-
181
- private triggerStateChange() {
182
- this.stateChangeListeners.forEach(l => {
183
- l(this._initialized, this.currentToken)
184
- })
185
- }
186
-
187
- onStateChange(handler:NotificationStateChangeListener) {
188
- const newLen = this.stateChangeListeners.push(handler)
189
-
190
- return () => {
191
- this.stateChangeListeners.splice(newLen - 1, 1)
192
- }
193
-
194
- }
195
-
196
- async getInitialNotification():Promise<HandleNotificationParam> {
197
- try {
198
-
199
- const msg = await messaging().getInitialNotification()
200
- return {
201
- data: msg as Message,
202
- type: 'initial',
203
- }
204
-
205
- } catch (e) {
206
- return {
207
- data: null,
208
- type: 'initial',
209
- }
210
- }
211
- }
212
- }
213
-