@aws-amplify/notifications 2.0.17 → 2.0.18-experimental-lerna-test.d2b0b08.55

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 (135) hide show
  1. package/dist/cjs/eventListeners/eventListeners.js +4 -7
  2. package/dist/cjs/eventListeners/eventListeners.js.map +1 -1
  3. package/dist/cjs/inAppMessaging/providers/pinpoint/apis/clearMessages.js +1 -1
  4. package/dist/cjs/inAppMessaging/providers/pinpoint/apis/clearMessages.js.map +1 -1
  5. package/dist/cjs/inAppMessaging/providers/pinpoint/apis/dispatchEvent.js +11 -8
  6. package/dist/cjs/inAppMessaging/providers/pinpoint/apis/dispatchEvent.js.map +1 -1
  7. package/dist/cjs/inAppMessaging/providers/pinpoint/apis/identifyUser.js +3 -2
  8. package/dist/cjs/inAppMessaging/providers/pinpoint/apis/identifyUser.js.map +1 -1
  9. package/dist/cjs/inAppMessaging/providers/pinpoint/apis/initializeInAppMessaging.js +2 -2
  10. package/dist/cjs/inAppMessaging/providers/pinpoint/apis/initializeInAppMessaging.js.map +1 -1
  11. package/dist/cjs/inAppMessaging/providers/pinpoint/apis/onMessageDisplayed.js +1 -1
  12. package/dist/cjs/inAppMessaging/providers/pinpoint/apis/onMessageDisplayed.js.map +1 -1
  13. package/dist/cjs/inAppMessaging/providers/pinpoint/apis/setConflictHandler.js +7 -28
  14. package/dist/cjs/inAppMessaging/providers/pinpoint/apis/setConflictHandler.js.map +1 -1
  15. package/dist/cjs/inAppMessaging/providers/pinpoint/apis/syncMessages.js +1 -1
  16. package/dist/cjs/inAppMessaging/providers/pinpoint/apis/syncMessages.js.map +1 -1
  17. package/dist/cjs/inAppMessaging/providers/pinpoint/utils/conflictHandlerManager.js +50 -0
  18. package/dist/cjs/inAppMessaging/providers/pinpoint/utils/conflictHandlerManager.js.map +1 -0
  19. package/dist/cjs/inAppMessaging/providers/pinpoint/utils/helpers.js +8 -8
  20. package/dist/cjs/inAppMessaging/providers/pinpoint/utils/helpers.js.map +1 -1
  21. package/dist/cjs/inAppMessaging/providers/pinpoint/utils/index.js +4 -1
  22. package/dist/cjs/inAppMessaging/providers/pinpoint/utils/index.js.map +1 -1
  23. package/dist/cjs/inAppMessaging/providers/pinpoint/utils/messageProcessingHelpers.js +5 -6
  24. package/dist/cjs/inAppMessaging/providers/pinpoint/utils/messageProcessingHelpers.js.map +1 -1
  25. package/dist/cjs/pushNotifications/providers/pinpoint/apis/initializePushNotifications.native.js +14 -5
  26. package/dist/cjs/pushNotifications/providers/pinpoint/apis/initializePushNotifications.native.js.map +1 -1
  27. package/dist/cjs/pushNotifications/providers/pinpoint/utils/getAnalyticsEvent.js +1 -1
  28. package/dist/cjs/pushNotifications/providers/pinpoint/utils/getAnalyticsEvent.js.map +1 -1
  29. package/dist/esm/eventListeners/eventListeners.d.ts +2 -2
  30. package/dist/esm/eventListeners/eventListeners.mjs +4 -7
  31. package/dist/esm/eventListeners/eventListeners.mjs.map +1 -1
  32. package/dist/esm/eventListeners/types.d.ts +6 -5
  33. package/dist/esm/inAppMessaging/providers/pinpoint/apis/clearMessages.mjs +1 -1
  34. package/dist/esm/inAppMessaging/providers/pinpoint/apis/clearMessages.mjs.map +1 -1
  35. package/dist/esm/inAppMessaging/providers/pinpoint/apis/dispatchEvent.d.ts +4 -1
  36. package/dist/esm/inAppMessaging/providers/pinpoint/apis/dispatchEvent.mjs +9 -5
  37. package/dist/esm/inAppMessaging/providers/pinpoint/apis/dispatchEvent.mjs.map +1 -1
  38. package/dist/esm/inAppMessaging/providers/pinpoint/apis/identifyUser.d.ts +2 -2
  39. package/dist/esm/inAppMessaging/providers/pinpoint/apis/identifyUser.mjs +3 -2
  40. package/dist/esm/inAppMessaging/providers/pinpoint/apis/identifyUser.mjs.map +1 -1
  41. package/dist/esm/inAppMessaging/providers/pinpoint/apis/initializeInAppMessaging.mjs +2 -2
  42. package/dist/esm/inAppMessaging/providers/pinpoint/apis/initializeInAppMessaging.mjs.map +1 -1
  43. package/dist/esm/inAppMessaging/providers/pinpoint/apis/onMessageDisplayed.d.ts +1 -1
  44. package/dist/esm/inAppMessaging/providers/pinpoint/apis/onMessageDisplayed.mjs +1 -1
  45. package/dist/esm/inAppMessaging/providers/pinpoint/apis/onMessageDisplayed.mjs.map +1 -1
  46. package/dist/esm/inAppMessaging/providers/pinpoint/apis/setConflictHandler.d.ts +5 -3
  47. package/dist/esm/inAppMessaging/providers/pinpoint/apis/setConflictHandler.mjs +11 -28
  48. package/dist/esm/inAppMessaging/providers/pinpoint/apis/setConflictHandler.mjs.map +1 -1
  49. package/dist/esm/inAppMessaging/providers/pinpoint/apis/syncMessages.mjs +1 -1
  50. package/dist/esm/inAppMessaging/providers/pinpoint/apis/syncMessages.mjs.map +1 -1
  51. package/dist/esm/inAppMessaging/providers/pinpoint/types/inputs.d.ts +3 -3
  52. package/dist/esm/inAppMessaging/providers/pinpoint/types/types.d.ts +4 -4
  53. package/dist/esm/inAppMessaging/providers/pinpoint/utils/conflictHandlerManager.d.ts +13 -0
  54. package/dist/esm/inAppMessaging/providers/pinpoint/utils/conflictHandlerManager.mjs +46 -0
  55. package/dist/esm/inAppMessaging/providers/pinpoint/utils/conflictHandlerManager.mjs.map +1 -0
  56. package/dist/esm/inAppMessaging/providers/pinpoint/utils/helpers.d.ts +1 -1
  57. package/dist/esm/inAppMessaging/providers/pinpoint/utils/helpers.mjs +8 -8
  58. package/dist/esm/inAppMessaging/providers/pinpoint/utils/helpers.mjs.map +1 -1
  59. package/dist/esm/inAppMessaging/providers/pinpoint/utils/index.d.ts +1 -0
  60. package/dist/esm/inAppMessaging/providers/pinpoint/utils/index.mjs +1 -0
  61. package/dist/esm/inAppMessaging/providers/pinpoint/utils/index.mjs.map +1 -1
  62. package/dist/esm/inAppMessaging/providers/pinpoint/utils/messageProcessingHelpers.d.ts +1 -1
  63. package/dist/esm/inAppMessaging/providers/pinpoint/utils/messageProcessingHelpers.mjs +5 -6
  64. package/dist/esm/inAppMessaging/providers/pinpoint/utils/messageProcessingHelpers.mjs.map +1 -1
  65. package/dist/esm/inAppMessaging/providers/pinpoint/utils/userAgent.mjs.map +1 -1
  66. package/dist/esm/inAppMessaging/types/event.d.ts +2 -2
  67. package/dist/esm/inAppMessaging/types/inputs.d.ts +2 -2
  68. package/dist/esm/pushNotifications/providers/pinpoint/apis/initializePushNotifications.native.mjs +14 -5
  69. package/dist/esm/pushNotifications/providers/pinpoint/apis/initializePushNotifications.native.mjs.map +1 -1
  70. package/dist/esm/pushNotifications/providers/pinpoint/types/analytics.d.ts +2 -2
  71. package/dist/esm/pushNotifications/providers/pinpoint/types/inputs.d.ts +1 -1
  72. package/dist/esm/pushNotifications/providers/pinpoint/utils/createMessageEventRecorder.d.ts +1 -1
  73. package/dist/esm/pushNotifications/providers/pinpoint/utils/getAnalyticsEvent.mjs +1 -1
  74. package/dist/esm/pushNotifications/providers/pinpoint/utils/getAnalyticsEvent.mjs.map +1 -1
  75. package/dist/esm/pushNotifications/providers/pinpoint/utils/resolveConfig.mjs.map +1 -1
  76. package/dist/esm/pushNotifications/types/inputs.d.ts +2 -2
  77. package/dist/esm/pushNotifications/utils/resolveCredentials.mjs.map +1 -1
  78. package/package.json +104 -103
  79. package/src/eventListeners/eventListeners.ts +16 -9
  80. package/src/eventListeners/types.ts +7 -5
  81. package/src/inAppMessaging/errors/assertServiceError.ts +1 -0
  82. package/src/inAppMessaging/providers/pinpoint/apis/clearMessages.ts +3 -2
  83. package/src/inAppMessaging/providers/pinpoint/apis/dispatchEvent.ts +19 -9
  84. package/src/inAppMessaging/providers/pinpoint/apis/identifyUser.ts +5 -7
  85. package/src/inAppMessaging/providers/pinpoint/apis/initializeInAppMessaging.ts +5 -3
  86. package/src/inAppMessaging/providers/pinpoint/apis/notifyMessageInteraction.ts +1 -0
  87. package/src/inAppMessaging/providers/pinpoint/apis/onMessageActionTaken.ts +2 -0
  88. package/src/inAppMessaging/providers/pinpoint/apis/onMessageDismissed.ts +2 -0
  89. package/src/inAppMessaging/providers/pinpoint/apis/onMessageDisplayed.ts +3 -1
  90. package/src/inAppMessaging/providers/pinpoint/apis/onMessageReceived.ts +2 -0
  91. package/src/inAppMessaging/providers/pinpoint/apis/setConflictHandler.ts +8 -32
  92. package/src/inAppMessaging/providers/pinpoint/apis/syncMessages.ts +12 -10
  93. package/src/inAppMessaging/providers/pinpoint/types/inputs.ts +8 -7
  94. package/src/inAppMessaging/providers/pinpoint/types/types.ts +4 -4
  95. package/src/inAppMessaging/providers/pinpoint/utils/conflictHandlerManager.ts +54 -0
  96. package/src/inAppMessaging/providers/pinpoint/utils/helpers.ts +19 -9
  97. package/src/inAppMessaging/providers/pinpoint/utils/index.ts +4 -0
  98. package/src/inAppMessaging/providers/pinpoint/utils/messageProcessingHelpers.ts +19 -11
  99. package/src/inAppMessaging/providers/pinpoint/utils/resolveConfig.ts +2 -0
  100. package/src/inAppMessaging/providers/pinpoint/utils/resolveCredentials.ts +2 -0
  101. package/src/inAppMessaging/providers/pinpoint/utils/userAgent.ts +2 -2
  102. package/src/inAppMessaging/types/event.ts +2 -2
  103. package/src/inAppMessaging/types/inputs.ts +4 -3
  104. package/src/pushNotifications/errors/errorHelpers.ts +2 -0
  105. package/src/pushNotifications/providers/pinpoint/apis/getBadgeCount.native.ts +2 -0
  106. package/src/pushNotifications/providers/pinpoint/apis/getBadgeCount.ts +1 -0
  107. package/src/pushNotifications/providers/pinpoint/apis/getLaunchNotification.native.ts +2 -0
  108. package/src/pushNotifications/providers/pinpoint/apis/getLaunchNotification.ts +1 -0
  109. package/src/pushNotifications/providers/pinpoint/apis/getPermissionStatus.native.ts +2 -0
  110. package/src/pushNotifications/providers/pinpoint/apis/getPermissionStatus.ts +1 -0
  111. package/src/pushNotifications/providers/pinpoint/apis/identifyUser.native.ts +1 -0
  112. package/src/pushNotifications/providers/pinpoint/apis/identifyUser.ts +1 -0
  113. package/src/pushNotifications/providers/pinpoint/apis/initializePushNotifications.native.ts +21 -12
  114. package/src/pushNotifications/providers/pinpoint/apis/initializePushNotifications.ts +1 -0
  115. package/src/pushNotifications/providers/pinpoint/apis/onNotificationOpened.native.ts +1 -0
  116. package/src/pushNotifications/providers/pinpoint/apis/onNotificationOpened.ts +1 -0
  117. package/src/pushNotifications/providers/pinpoint/apis/onNotificationReceivedInBackground.native.ts +1 -0
  118. package/src/pushNotifications/providers/pinpoint/apis/onNotificationReceivedInBackground.ts +1 -0
  119. package/src/pushNotifications/providers/pinpoint/apis/onNotificationReceivedInForeground.native.ts +1 -0
  120. package/src/pushNotifications/providers/pinpoint/apis/onNotificationReceivedInForeground.ts +1 -0
  121. package/src/pushNotifications/providers/pinpoint/apis/onTokenReceived.native.ts +1 -0
  122. package/src/pushNotifications/providers/pinpoint/apis/onTokenReceived.ts +1 -0
  123. package/src/pushNotifications/providers/pinpoint/apis/requestPermissions.native.ts +2 -0
  124. package/src/pushNotifications/providers/pinpoint/apis/requestPermissions.ts +1 -0
  125. package/src/pushNotifications/providers/pinpoint/apis/setBadgeCount.native.ts +1 -0
  126. package/src/pushNotifications/providers/pinpoint/apis/setBadgeCount.ts +1 -0
  127. package/src/pushNotifications/providers/pinpoint/types/analytics.ts +2 -2
  128. package/src/pushNotifications/providers/pinpoint/types/inputs.ts +4 -3
  129. package/src/pushNotifications/providers/pinpoint/utils/createMessageEventRecorder.ts +5 -1
  130. package/src/pushNotifications/providers/pinpoint/utils/getAnalyticsEvent.ts +3 -1
  131. package/src/pushNotifications/providers/pinpoint/utils/getChannelType.ts +1 -0
  132. package/src/pushNotifications/providers/pinpoint/utils/resolveConfig.ts +3 -1
  133. package/src/pushNotifications/types/inputs.ts +4 -3
  134. package/src/pushNotifications/utils/getPushNotificationUserAgentString.ts +1 -1
  135. package/src/pushNotifications/utils/resolveCredentials.ts +3 -1
@@ -5,6 +5,7 @@ import { ConsoleLogger } from '@aws-amplify/core';
5
5
  import { PushNotificationAction } from '@aws-amplify/core/internals/utils';
6
6
  import { updateEndpoint } from '@aws-amplify/core/internals/providers/pinpoint';
7
7
  import { loadAmplifyPushNotification } from '@aws-amplify/react-native';
8
+
8
9
  import {
9
10
  EventListenerRemover,
10
11
  addEventListener,
@@ -40,6 +41,7 @@ const BACKGROUND_TASK_TIMEOUT = 25; // seconds
40
41
  export const initializePushNotifications = (): void => {
41
42
  if (isInitialized()) {
42
43
  logger.info('Push notifications have already been enabled');
44
+
43
45
  return;
44
46
  }
45
47
  addNativeListeners();
@@ -48,9 +50,9 @@ export const initializePushNotifications = (): void => {
48
50
  };
49
51
 
50
52
  const addNativeListeners = (): void => {
51
- let launchNotificationOpenedListener: ReturnType<
52
- typeof addMessageEventListener
53
- > | null;
53
+ let launchNotificationOpenedListener:
54
+ | ReturnType<typeof addMessageEventListener>
55
+ | undefined;
54
56
  const { NativeEvent, NativeHeadlessTaskKey } = getConstants();
55
57
  const {
56
58
  BACKGROUND_MESSAGE_RECEIVED,
@@ -85,14 +87,14 @@ const addNativeListeners = (): void => {
85
87
  // background tasks will get suspended and all future tasks be deprioritized by the OS if they run for
86
88
  // more than 30 seconds so we reject with a error in a shorter amount of time to prevent this from
87
89
  // happening
88
- new Promise((_, reject) => {
89
- setTimeout(
90
- () =>
91
- reject(
90
+ new Promise((_resolve, reject) => {
91
+ setTimeout(() => {
92
+ reject(
93
+ new Error(
92
94
  `onNotificationReceivedInBackground handlers should complete their work within ${BACKGROUND_TASK_TIMEOUT} seconds, but they did not.`,
93
95
  ),
94
- BACKGROUND_TASK_TIMEOUT * 1000,
95
- );
96
+ );
97
+ }, BACKGROUND_TASK_TIMEOUT * 1000);
96
98
  }),
97
99
  ]);
98
100
  } catch (err) {
@@ -125,9 +127,10 @@ const addNativeListeners = (): void => {
125
127
  notifyEventListeners('launchNotificationOpened', message);
126
128
  // once we are done with it we can remove the listener
127
129
  launchNotificationOpenedListener?.remove();
130
+ launchNotificationOpenedListener = undefined;
128
131
  },
129
132
  )
130
- : null;
133
+ : undefined;
131
134
 
132
135
  addMessageEventListener(
133
136
  // listen for native notification opened (user tapped on notification, opening the app from background -
@@ -178,7 +181,10 @@ const addAnalyticsListeners = (): void => {
178
181
  createMessageEventRecorder(
179
182
  'opened_notification',
180
183
  // once we are done with it we can remove the listener
181
- launchNotificationOpenedListenerRemover?.remove,
184
+ () => {
185
+ launchNotificationOpenedListenerRemover?.remove();
186
+ launchNotificationOpenedListenerRemover = undefined;
187
+ },
182
188
  ),
183
189
  );
184
190
  addEventListener(
@@ -186,7 +192,10 @@ const addAnalyticsListeners = (): void => {
186
192
  createMessageEventRecorder(
187
193
  'opened_notification',
188
194
  // if we are in this state, we no longer need the listener as the app was launched via some other means
189
- launchNotificationOpenedListenerRemover?.remove,
195
+ () => {
196
+ launchNotificationOpenedListenerRemover?.remove();
197
+ launchNotificationOpenedListenerRemover = undefined;
198
+ },
190
199
  ),
191
200
  );
192
201
  };
@@ -2,6 +2,7 @@
2
2
  // SPDX-License-Identifier: Apache-2.0
3
3
 
4
4
  import { PlatformNotSupportedError } from '@aws-amplify/core/internals/utils';
5
+
5
6
  import { InitializePushNotifications } from '../types';
6
7
 
7
8
  /**
@@ -7,5 +7,6 @@ import { OnNotificationOpened } from '../types';
7
7
 
8
8
  export const onNotificationOpened: OnNotificationOpened = input => {
9
9
  assertIsInitialized();
10
+
10
11
  return addEventListener('notificationOpened', input);
11
12
  };
@@ -2,6 +2,7 @@
2
2
  // SPDX-License-Identifier: Apache-2.0
3
3
 
4
4
  import { PlatformNotSupportedError } from '@aws-amplify/core/internals/utils';
5
+
5
6
  import { PushNotificationMessage } from '../../../types';
6
7
  import {
7
8
  OnNotificationOpened,
@@ -8,5 +8,6 @@ import { OnNotificationReceivedInBackground } from '../types';
8
8
  export const onNotificationReceivedInBackground: OnNotificationReceivedInBackground =
9
9
  input => {
10
10
  assertIsInitialized();
11
+
11
12
  return addEventListener('backgroundMessageReceived', input);
12
13
  };
@@ -2,6 +2,7 @@
2
2
  // SPDX-License-Identifier: Apache-2.0
3
3
 
4
4
  import { PlatformNotSupportedError } from '@aws-amplify/core/internals/utils';
5
+
5
6
  import { PushNotificationMessage } from '../../../types';
6
7
  import {
7
8
  OnNotificationReceivedInBackground,
@@ -8,5 +8,6 @@ import { OnNotificationReceivedInForeground } from '../types';
8
8
  export const onNotificationReceivedInForeground: OnNotificationReceivedInForeground =
9
9
  input => {
10
10
  assertIsInitialized();
11
+
11
12
  return addEventListener('foregroundMessageReceived', input);
12
13
  };
@@ -2,6 +2,7 @@
2
2
  // SPDX-License-Identifier: Apache-2.0
3
3
 
4
4
  import { PlatformNotSupportedError } from '@aws-amplify/core/internals/utils';
5
+
5
6
  import { PushNotificationMessage } from '../../../types';
6
7
  import {
7
8
  OnNotificationReceivedInForeground,
@@ -7,5 +7,6 @@ import { OnTokenReceived } from '../types';
7
7
 
8
8
  export const onTokenReceived: OnTokenReceived = input => {
9
9
  assertIsInitialized();
10
+
10
11
  return addEventListener('tokenReceived', input);
11
12
  };
@@ -2,6 +2,7 @@
2
2
  // SPDX-License-Identifier: Apache-2.0
3
3
 
4
4
  import { PlatformNotSupportedError } from '@aws-amplify/core/internals/utils';
5
+
5
6
  import {
6
7
  OnTokenReceived,
7
8
  OnTokenReceivedInput,
@@ -2,6 +2,7 @@
2
2
  // SPDX-License-Identifier: Apache-2.0
3
3
 
4
4
  import { loadAmplifyPushNotification } from '@aws-amplify/react-native';
5
+
5
6
  import { assertIsInitialized } from '../../../errors/errorHelpers';
6
7
  import { RequestPermissions } from '../types';
7
8
 
@@ -10,5 +11,6 @@ const { requestPermissions: requestPermissionsNative } =
10
11
 
11
12
  export const requestPermissions: RequestPermissions = async input => {
12
13
  assertIsInitialized();
14
+
13
15
  return requestPermissionsNative(input);
14
16
  };
@@ -2,6 +2,7 @@
2
2
  // SPDX-License-Identifier: Apache-2.0
3
3
 
4
4
  import { PlatformNotSupportedError } from '@aws-amplify/core/internals/utils';
5
+
5
6
  import { RequestPermissions } from '../types';
6
7
 
7
8
  /**
@@ -2,6 +2,7 @@
2
2
  // SPDX-License-Identifier: Apache-2.0
3
3
 
4
4
  import { loadAmplifyPushNotification } from '@aws-amplify/react-native';
5
+
5
6
  import { assertIsInitialized } from '../../../errors/errorHelpers';
6
7
  import { SetBadgeCount } from '../types';
7
8
 
@@ -2,6 +2,7 @@
2
2
  // SPDX-License-Identifier: Apache-2.0
3
3
 
4
4
  import { PlatformNotSupportedError } from '@aws-amplify/core/internals/utils';
5
+
5
6
  import { SetBadgeCount } from '../types';
6
7
 
7
8
  /**
@@ -8,7 +8,7 @@ export type PinpointMessageEvent =
8
8
 
9
9
  export type PinpointMessageEventSource = '_campaign' | '_journey';
10
10
 
11
- export type AnalyticsEventAttributes = {
11
+ export interface AnalyticsEventAttributes {
12
12
  source: PinpointMessageEventSource;
13
13
  attributes: Record<string, string>;
14
- };
14
+ }
@@ -1,17 +1,18 @@
1
1
  // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
2
  // SPDX-License-Identifier: Apache-2.0
3
3
 
4
- import { IdentifyUserOptions } from './options';
5
4
  import {
6
5
  PushNotificationIdentifyUserInput,
7
- PushNotificationRequestPermissionsInput,
8
- PushNotificationSetBadgeCountInput,
9
6
  PushNotificationOnNotificationOpenedInput,
10
7
  PushNotificationOnNotificationReceivedInBackgroundInput,
11
8
  PushNotificationOnNotificationReceivedInForegroundInput,
12
9
  PushNotificationOnTokenReceivedInput,
10
+ PushNotificationRequestPermissionsInput,
11
+ PushNotificationSetBadgeCountInput,
13
12
  } from '../../../types';
14
13
 
14
+ import { IdentifyUserOptions } from './options';
15
+
15
16
  export type IdentifyUserInput =
16
17
  PushNotificationIdentifyUserInput<IdentifyUserOptions>;
17
18
 
@@ -4,12 +4,14 @@
4
4
  import { record } from '@aws-amplify/core/internals/providers/pinpoint';
5
5
  import { ConsoleLogger } from '@aws-amplify/core';
6
6
  import { AWSCredentials } from '@aws-amplify/core/internals/utils';
7
+
7
8
  import { PinpointMessageEvent } from '../types';
8
9
  import {
9
10
  OnPushNotificationMessageHandler,
10
11
  PushNotificationMessage,
11
12
  } from '../../../types';
12
13
  import { resolveCredentials } from '../../../utils';
14
+
13
15
  import { getAnalyticsEvent } from './getAnalyticsEvent';
14
16
  import { getChannelType } from './getChannelType';
15
17
  import { resolveConfig } from './resolveConfig';
@@ -22,7 +24,7 @@ const logger = new ConsoleLogger('PushNotification.recordMessageEvent');
22
24
  export const createMessageEventRecorder =
23
25
  (
24
26
  event: PinpointMessageEvent,
25
- callback?: Function,
27
+ callback?: () => void,
26
28
  ): OnPushNotificationMessageHandler =>
27
29
  async message => {
28
30
  const { credentials } = await resolveCredentials();
@@ -53,8 +55,10 @@ const recordMessageEvent = async ({
53
55
  const analyticsEvent = getAnalyticsEvent(message, event);
54
56
  if (!analyticsEvent) {
55
57
  logger.debug('A notification missing event information was not recorded');
58
+
56
59
  return;
57
60
  }
61
+
58
62
  return record({
59
63
  appId,
60
64
  category: 'PushNotification',
@@ -2,6 +2,7 @@
2
2
  // SPDX-License-Identifier: Apache-2.0
3
3
 
4
4
  import { PinpointAnalyticsEvent } from '@aws-amplify/core/internals/providers/pinpoint';
5
+
5
6
  import { AnalyticsEventAttributes, PinpointMessageEvent } from '../types';
6
7
  import { PushNotificationMessage } from '../../../types';
7
8
 
@@ -25,6 +26,7 @@ export const getAnalyticsEvent = (
25
26
  return null;
26
27
  }
27
28
  const { source, attributes } = eventAttributes;
29
+
28
30
  return {
29
31
  attributes,
30
32
  name: `${source}.${event}`,
@@ -37,7 +39,7 @@ const getAnalyticsEventAttributes = (
37
39
  if (!data) {
38
40
  return;
39
41
  }
40
- if (data.hasOwnProperty(ANDROID_CAMPAIGN_ID_KEY)) {
42
+ if (Object.prototype.hasOwnProperty.call(data, ANDROID_CAMPAIGN_ID_KEY)) {
41
43
  return {
42
44
  source: '_campaign',
43
45
  attributes: {
@@ -3,6 +3,7 @@
3
3
 
4
4
  import { PlatformNotSupportedError } from '@aws-amplify/core/internals/utils';
5
5
  import { getOperatingSystem } from '@aws-amplify/react-native';
6
+
6
7
  import { ChannelType } from '../types';
7
8
 
8
9
  const operatingSystem = getOperatingSystem();
@@ -2,7 +2,8 @@
2
2
  // SPDX-License-Identifier: Apache-2.0
3
3
 
4
4
  import { Amplify } from '@aws-amplify/core';
5
- import { assert, PushNotificationValidationErrorCode } from '../../../errors';
5
+
6
+ import { PushNotificationValidationErrorCode, assert } from '../../../errors';
6
7
 
7
8
  /**
8
9
  * @internal
@@ -12,5 +13,6 @@ export const resolveConfig = () => {
12
13
  Amplify.getConfig().Notifications?.PushNotification?.Pinpoint ?? {};
13
14
  assert(!!appId, PushNotificationValidationErrorCode.NoAppId);
14
15
  assert(!!region, PushNotificationValidationErrorCode.NoRegion);
16
+
15
17
  return { appId, region };
16
18
  };
@@ -2,6 +2,7 @@
2
2
  // SPDX-License-Identifier: Apache-2.0
3
3
 
4
4
  import { UserProfile } from '@aws-amplify/core';
5
+
5
6
  import { PushNotificationServiceOptions } from './options';
6
7
  import { PushNotificationPermissions } from './module';
7
8
  import {
@@ -9,10 +10,10 @@ import {
9
10
  OnTokenReceivedHandler,
10
11
  } from './pushNotifications';
11
12
 
12
- export type PushNotificationIdentifyUserInput<
13
+ export interface PushNotificationIdentifyUserInput<
13
14
  ServiceOptions extends
14
15
  PushNotificationServiceOptions = PushNotificationServiceOptions,
15
- > = {
16
+ > {
16
17
  /**
17
18
  * A User ID associated to the current device.
18
19
  */
@@ -27,7 +28,7 @@ export type PushNotificationIdentifyUserInput<
27
28
  * Options to be passed to the API.
28
29
  */
29
30
  options?: ServiceOptions;
30
- };
31
+ }
31
32
 
32
33
  export type PushNotificationRequestPermissionsInput =
33
34
  PushNotificationPermissions;
@@ -1,8 +1,8 @@
1
1
  // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
2
  // SPDX-License-Identifier: Apache-2.0
3
3
  import {
4
- PushNotificationAction,
5
4
  Category,
5
+ PushNotificationAction,
6
6
  getAmplifyUserAgent,
7
7
  } from '@aws-amplify/core/internals/utils';
8
8
 
@@ -2,9 +2,10 @@
2
2
  // SPDX-License-Identifier: Apache-2.0
3
3
 
4
4
  import { fetchAuthSession } from '@aws-amplify/core';
5
+
5
6
  import {
6
- assert,
7
7
  PushNotificationValidationErrorCode,
8
+ assert,
8
9
  } from '../errors/errorHelpers';
9
10
 
10
11
  /**
@@ -13,5 +14,6 @@ import {
13
14
  export const resolveCredentials = async () => {
14
15
  const { credentials, identityId } = await fetchAuthSession();
15
16
  assert(!!credentials, PushNotificationValidationErrorCode.NoCredentials);
17
+
16
18
  return { credentials, identityId };
17
19
  };