@aws-amplify/core 6.0.1-api-v6-models.9351bcf.0 → 6.0.1-api-v6-models.891fe0d.0

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 (360) hide show
  1. package/lib/BackgroundProcessManager/BackgroundManagerNotOpenError.js +4 -21
  2. package/lib/BackgroundProcessManager/BackgroundProcessManager.js +126 -245
  3. package/lib/Cache/StorageCache.js +32 -92
  4. package/lib/Cache/StorageCache.native.js +38 -140
  5. package/lib/Cache/StorageCacheCommon.js +271 -600
  6. package/lib/Cache/index.js +1 -1
  7. package/lib/Cache/utils/CacheList.js +42 -66
  8. package/lib/Cache/utils/cacheHelpers.js +6 -8
  9. package/lib/Cache/utils/errorHelpers.js +6 -7
  10. package/lib/Hub/index.js +34 -74
  11. package/lib/I18n/I18n.js +24 -39
  12. package/lib/I18n/errorHelpers.js +4 -5
  13. package/lib/I18n/index.js +24 -27
  14. package/lib/I18n/types.js +3 -4
  15. package/lib/Logger/ConsoleLogger.js +53 -129
  16. package/lib/Mutex/Mutex.js +15 -19
  17. package/lib/Platform/customUserAgent.js +13 -26
  18. package/lib/Platform/detectFramework.js +12 -13
  19. package/lib/Platform/detection/Angular.js +4 -5
  20. package/lib/Platform/detection/Expo.js +1 -1
  21. package/lib/Platform/detection/Next.js +1 -1
  22. package/lib/Platform/detection/Nuxt.js +1 -1
  23. package/lib/Platform/detection/React.js +5 -5
  24. package/lib/Platform/detection/Svelte.js +2 -2
  25. package/lib/Platform/detection/Vue.js +1 -1
  26. package/lib/Platform/detection/Web.js +1 -1
  27. package/lib/Platform/detection/helpers.js +7 -7
  28. package/lib/Platform/detection/index.js +13 -13
  29. package/lib/Platform/index.js +26 -55
  30. package/lib/Platform/types.d.ts +1 -1
  31. package/lib/Platform/types.js +1 -1
  32. package/lib/Platform/version.d.ts +1 -1
  33. package/lib/Platform/version.js +1 -1
  34. package/lib/Reachability/Reachability.js +20 -48
  35. package/lib/Reachability/Reachability.native.js +12 -16
  36. package/lib/ServiceWorker/ServiceWorker.js +80 -136
  37. package/lib/ServiceWorker/errorHelpers.js +6 -7
  38. package/lib/Signer/DateUtils.d.ts +9 -0
  39. package/lib/Signer/DateUtils.js +19 -28
  40. package/lib/Signer/Signer.d.ts +9 -0
  41. package/lib/Signer/Signer.js +58 -54
  42. package/lib/adapterCore/error/AmplifyServerContextError.js +9 -27
  43. package/lib/adapterCore/serverContext/serverContext.js +8 -8
  44. package/lib/adapterCore/serverContext/serverContextRegistry.js +6 -6
  45. package/lib/awsClients/cognitoIdentity/base.js +25 -73
  46. package/lib/awsClients/cognitoIdentity/getCredentialsForIdentity.js +24 -68
  47. package/lib/awsClients/cognitoIdentity/getId.js +19 -62
  48. package/lib/awsClients/pinpoint/base.js +12 -15
  49. package/lib/awsClients/pinpoint/errorHelpers.js +4 -5
  50. package/lib/awsClients/pinpoint/getInAppMessages.js +24 -68
  51. package/lib/awsClients/pinpoint/putEvents.js +26 -70
  52. package/lib/awsClients/pinpoint/updateEndpoint.js +28 -72
  53. package/lib/clients/endpoints/getDnsSuffix.js +7 -29
  54. package/lib/clients/handlers/authenticated.js +5 -5
  55. package/lib/clients/handlers/fetch.js +41 -98
  56. package/lib/clients/handlers/unauthenticated.js +4 -4
  57. package/lib/clients/internal/composeServiceApi.js +17 -67
  58. package/lib/clients/internal/composeTransferHandler.js +9 -11
  59. package/lib/clients/middleware/retry/defaultRetryDecider.js +18 -75
  60. package/lib/clients/middleware/retry/isClockSkewError.js +2 -4
  61. package/lib/clients/middleware/retry/jitteredBackoff.js +5 -5
  62. package/lib/clients/middleware/retry/middleware.js +61 -125
  63. package/lib/clients/middleware/signing/middleware.js +24 -86
  64. package/lib/clients/middleware/signing/signer/signatureV4/index.js +0 -1
  65. package/lib/clients/middleware/signing/signer/signatureV4/presignUrl.js +21 -56
  66. package/lib/clients/middleware/signing/signer/signatureV4/signRequest.js +14 -25
  67. package/lib/clients/middleware/signing/signer/signatureV4/utils/dataHashHelpers.js +7 -7
  68. package/lib/clients/middleware/signing/signer/signatureV4/utils/getCanonicalHeaders.js +8 -30
  69. package/lib/clients/middleware/signing/signer/signatureV4/utils/getCanonicalQueryString.js +11 -38
  70. package/lib/clients/middleware/signing/signer/signatureV4/utils/getCanonicalRequest.js +13 -17
  71. package/lib/clients/middleware/signing/signer/signatureV4/utils/getCanonicalUri.js +5 -8
  72. package/lib/clients/middleware/signing/signer/signatureV4/utils/getCredentialScope.js +2 -2
  73. package/lib/clients/middleware/signing/signer/signatureV4/utils/getFormattedDates.js +3 -3
  74. package/lib/clients/middleware/signing/signer/signatureV4/utils/getHashedPayload.js +7 -11
  75. package/lib/clients/middleware/signing/signer/signatureV4/utils/getSignature.js +9 -10
  76. package/lib/clients/middleware/signing/signer/signatureV4/utils/getSignedHeaders.js +4 -6
  77. package/lib/clients/middleware/signing/signer/signatureV4/utils/getSigningKey.js +8 -8
  78. package/lib/clients/middleware/signing/signer/signatureV4/utils/getSigningValues.js +15 -16
  79. package/lib/clients/middleware/signing/signer/signatureV4/utils/getStringToSign.js +2 -4
  80. package/lib/clients/middleware/signing/utils/extendedEncodeURIComponent.js +3 -5
  81. package/lib/clients/middleware/signing/utils/getSkewCorrectedDate.js +1 -3
  82. package/lib/clients/middleware/signing/utils/getUpdatedSystemClockOffset.js +2 -2
  83. package/lib/clients/middleware/signing/utils/isClockSkewed.js +4 -6
  84. package/lib/clients/middleware/userAgent/middleware.js +14 -63
  85. package/lib/clients/serde/json.js +30 -96
  86. package/lib/clients/serde/responseInfo.js +12 -18
  87. package/lib/clients/utils/memoization.js +3 -3
  88. package/lib/constants.js +1 -1
  89. package/lib/errors/AmplifyError.js +9 -28
  90. package/lib/errors/PlatformNotSupportedError.js +7 -24
  91. package/lib/errors/createAssertionFunction.js +12 -15
  92. package/lib/errors/errorHelpers.js +7 -8
  93. package/lib/index.d.ts +1 -1
  94. package/lib/libraryUtils.d.ts +4 -0
  95. package/lib/libraryUtils.js +13 -3
  96. package/lib/parseAWSExports.js +109 -100
  97. package/lib/providers/kinesis/types/kinesis.d.ts +1 -1
  98. package/lib/providers/kinesis-firehose/types/kinesis-firehose.d.ts +1 -1
  99. package/lib/providers/personalize/types/personalize.d.ts +1 -1
  100. package/lib/providers/pinpoint/apis/flushEvents.js +8 -8
  101. package/lib/providers/pinpoint/apis/record.js +58 -93
  102. package/lib/providers/pinpoint/apis/updateEndpoint.js +65 -112
  103. package/lib/providers/pinpoint/types/pinpoint.d.ts +3 -1
  104. package/lib/providers/pinpoint/utils/PinpointEventBuffer.js +105 -196
  105. package/lib/providers/pinpoint/utils/cacheEndpointId.js +12 -49
  106. package/lib/providers/pinpoint/utils/getCacheKey.js +2 -2
  107. package/lib/providers/pinpoint/utils/getEndpointId.js +7 -51
  108. package/lib/providers/pinpoint/utils/getEventBuffer.js +19 -21
  109. package/lib/providers/pinpoint/utils/isAppInForeground.js +1 -1
  110. package/lib/providers/pinpoint/utils/isAppInForeground.native.js +2 -2
  111. package/lib/providers/pinpoint/utils/resolveEndpointId.js +20 -71
  112. package/lib/singleton/Amplify.d.ts +4 -0
  113. package/lib/singleton/Amplify.js +21 -103
  114. package/lib/singleton/Analytics/types.d.ts +5 -1
  115. package/lib/singleton/Auth/index.js +48 -115
  116. package/lib/singleton/Auth/types.d.ts +2 -2
  117. package/lib/singleton/Auth/utils/errorHelpers.js +7 -8
  118. package/lib/singleton/Auth/utils/index.js +18 -19
  119. package/lib/singleton/Predictions/types.d.ts +49 -0
  120. package/lib/singleton/Predictions/types.js +4 -0
  121. package/lib/singleton/apis/clearCredentials.js +1 -1
  122. package/lib/singleton/apis/fetchAuthSession.js +3 -3
  123. package/lib/singleton/apis/internal/fetchAuthSession.js +1 -1
  124. package/lib/singleton/apis/server/fetchAuthSession.js +3 -3
  125. package/lib/singleton/types.d.ts +3 -1
  126. package/lib/storage/CookieStorage.js +29 -99
  127. package/lib/storage/CookieStorage.native.js +5 -22
  128. package/lib/storage/DefaultStorage.js +6 -23
  129. package/lib/storage/DefaultStorage.native.js +18 -64
  130. package/lib/storage/InMemoryStorage.js +17 -23
  131. package/lib/storage/KeyValueStorage.js +24 -80
  132. package/lib/storage/SessionStorage.js +6 -23
  133. package/lib/storage/index.js +4 -4
  134. package/lib/storage/utils.js +7 -11
  135. package/lib/tsconfig.tsbuildinfo +1 -1
  136. package/lib/utils/WordArray.d.ts +7 -0
  137. package/lib/utils/WordArray.js +49 -0
  138. package/lib/utils/amplifyUrl/index.js +2 -2
  139. package/lib/utils/amplifyUrl/polyfill.native.js +1 -1
  140. package/lib/utils/amplifyUuid/index.d.ts +1 -1
  141. package/lib/utils/amplifyUuid/index.js +2 -2
  142. package/lib/utils/amplifyUuid/polyfill.native.js +1 -1
  143. package/lib/utils/convert/base64/base64Decoder.js +2 -2
  144. package/lib/utils/convert/base64/base64Encoder.js +5 -6
  145. package/lib/utils/convert/base64/bytesToString.js +1 -1
  146. package/lib/utils/cryptoSecureRandomInt.d.ts +1 -0
  147. package/lib/utils/cryptoSecureRandomInt.js +16 -0
  148. package/lib/utils/deepFreeze.js +6 -28
  149. package/lib/utils/generateRandomString.js +4 -4
  150. package/lib/utils/getClientInfo/getClientInfo.android.js +7 -7
  151. package/lib/utils/getClientInfo/getClientInfo.ios.js +12 -12
  152. package/lib/utils/getClientInfo/getClientInfo.js +16 -16
  153. package/lib/utils/globalHelpers/index.js +4 -4
  154. package/lib/utils/globalHelpers/index.native.js +6 -6
  155. package/lib/utils/isBrowser.js +1 -3
  156. package/lib/utils/isWebWorker.js +2 -2
  157. package/lib/utils/retry/NonRetryableError.js +5 -23
  158. package/lib/utils/retry/isNonRetryableError.js +2 -2
  159. package/lib/utils/retry/jitteredBackoff.js +6 -7
  160. package/lib/utils/retry/jitteredExponentialRetry.js +4 -7
  161. package/lib/utils/retry/retry.js +50 -140
  162. package/lib/utils/sessionListener/SessionListener.js +17 -19
  163. package/lib/utils/sessionListener/SessionListener.native.js +18 -22
  164. package/lib/utils/sessionListener/constants.d.ts +2 -0
  165. package/lib/utils/sessionListener/constants.js +8 -0
  166. package/lib/utils/sessionListener/index.d.ts +1 -0
  167. package/lib/utils/sessionListener/index.js +5 -2
  168. package/lib/utils/urlSafeDecode.js +2 -2
  169. package/lib/utils/urlSafeEncode.js +1 -1
  170. package/lib-esm/BackgroundProcessManager/BackgroundManagerNotOpenError.js +4 -22
  171. package/lib-esm/BackgroundProcessManager/BackgroundProcessManager.js +124 -244
  172. package/lib-esm/Cache/StorageCache.js +26 -87
  173. package/lib-esm/Cache/StorageCache.native.js +33 -136
  174. package/lib-esm/Cache/StorageCacheCommon.js +267 -597
  175. package/lib-esm/Cache/constants.js +2 -2
  176. package/lib-esm/Cache/index.js +1 -1
  177. package/lib-esm/Cache/utils/CacheList.js +41 -66
  178. package/lib-esm/Cache/utils/cacheHelpers.js +5 -7
  179. package/lib-esm/Cache/utils/errorHelpers.js +6 -7
  180. package/lib-esm/Hub/index.js +34 -75
  181. package/lib-esm/I18n/I18n.js +23 -39
  182. package/lib-esm/I18n/errorHelpers.js +4 -5
  183. package/lib-esm/I18n/index.js +21 -25
  184. package/lib-esm/I18n/types.js +3 -5
  185. package/lib-esm/Logger/ConsoleLogger.js +52 -128
  186. package/lib-esm/Mutex/Mutex.js +15 -20
  187. package/lib-esm/Platform/customUserAgent.js +13 -26
  188. package/lib-esm/Platform/detectFramework.js +11 -12
  189. package/lib-esm/Platform/detection/Angular.js +3 -4
  190. package/lib-esm/Platform/detection/React.js +4 -4
  191. package/lib-esm/Platform/detection/Svelte.js +1 -1
  192. package/lib-esm/Platform/detection/helpers.js +7 -7
  193. package/lib-esm/Platform/detection/index.js +3 -3
  194. package/lib-esm/Platform/index.js +23 -52
  195. package/lib-esm/Platform/types.d.ts +1 -1
  196. package/lib-esm/Platform/types.js +1 -1
  197. package/lib-esm/Platform/version.d.ts +1 -1
  198. package/lib-esm/Platform/version.js +1 -1
  199. package/lib-esm/Reachability/Reachability.js +18 -46
  200. package/lib-esm/Reachability/Reachability.native.js +10 -15
  201. package/lib-esm/ServiceWorker/ServiceWorker.js +74 -131
  202. package/lib-esm/ServiceWorker/errorHelpers.js +6 -7
  203. package/lib-esm/Signer/DateUtils.d.ts +9 -0
  204. package/lib-esm/Signer/DateUtils.js +20 -29
  205. package/lib-esm/Signer/Signer.d.ts +9 -0
  206. package/lib-esm/Signer/Signer.js +54 -51
  207. package/lib-esm/adapterCore/error/AmplifyServerContextError.js +8 -27
  208. package/lib-esm/adapterCore/serverContext/serverContext.js +6 -6
  209. package/lib-esm/adapterCore/serverContext/serverContextRegistry.js +7 -7
  210. package/lib-esm/awsClients/cognitoIdentity/base.js +21 -69
  211. package/lib-esm/awsClients/cognitoIdentity/getCredentialsForIdentity.js +22 -66
  212. package/lib-esm/awsClients/cognitoIdentity/getId.js +17 -60
  213. package/lib-esm/awsClients/pinpoint/base.js +8 -11
  214. package/lib-esm/awsClients/pinpoint/errorHelpers.js +4 -5
  215. package/lib-esm/awsClients/pinpoint/getInAppMessages.js +19 -63
  216. package/lib-esm/awsClients/pinpoint/putEvents.js +20 -64
  217. package/lib-esm/awsClients/pinpoint/updateEndpoint.js +23 -67
  218. package/lib-esm/clients/endpoints/getDnsSuffix.js +6 -28
  219. package/lib-esm/clients/endpoints/partitions.js +2 -2
  220. package/lib-esm/clients/handlers/authenticated.js +1 -1
  221. package/lib-esm/clients/handlers/fetch.js +40 -97
  222. package/lib-esm/clients/handlers/unauthenticated.js +1 -1
  223. package/lib-esm/clients/internal/composeServiceApi.js +17 -67
  224. package/lib-esm/clients/internal/composeTransferHandler.js +9 -11
  225. package/lib-esm/clients/middleware/retry/defaultRetryDecider.js +17 -74
  226. package/lib-esm/clients/middleware/retry/isClockSkewError.js +2 -4
  227. package/lib-esm/clients/middleware/retry/jitteredBackoff.js +4 -4
  228. package/lib-esm/clients/middleware/retry/middleware.js +61 -125
  229. package/lib-esm/clients/middleware/signing/middleware.js +21 -83
  230. package/lib-esm/clients/middleware/signing/signer/signatureV4/constants.js +17 -17
  231. package/lib-esm/clients/middleware/signing/signer/signatureV4/index.js +0 -1
  232. package/lib-esm/clients/middleware/signing/signer/signatureV4/presignUrl.js +17 -52
  233. package/lib-esm/clients/middleware/signing/signer/signatureV4/signRequest.js +10 -21
  234. package/lib-esm/clients/middleware/signing/signer/signatureV4/utils/dataHashHelpers.js +5 -5
  235. package/lib-esm/clients/middleware/signing/signer/signatureV4/utils/getCanonicalHeaders.js +8 -30
  236. package/lib-esm/clients/middleware/signing/signer/signatureV4/utils/getCanonicalQueryString.js +11 -38
  237. package/lib-esm/clients/middleware/signing/signer/signatureV4/utils/getCanonicalRequest.js +8 -12
  238. package/lib-esm/clients/middleware/signing/signer/signatureV4/utils/getCanonicalUri.js +5 -8
  239. package/lib-esm/clients/middleware/signing/signer/signatureV4/utils/getCredentialScope.js +1 -1
  240. package/lib-esm/clients/middleware/signing/signer/signatureV4/utils/getFormattedDates.js +3 -3
  241. package/lib-esm/clients/middleware/signing/signer/signatureV4/utils/getHashedPayload.js +5 -9
  242. package/lib-esm/clients/middleware/signing/signer/signatureV4/utils/getSignature.js +5 -6
  243. package/lib-esm/clients/middleware/signing/signer/signatureV4/utils/getSignedHeaders.js +4 -6
  244. package/lib-esm/clients/middleware/signing/signer/signatureV4/utils/getSigningKey.js +6 -6
  245. package/lib-esm/clients/middleware/signing/signer/signatureV4/utils/getSigningValues.js +13 -14
  246. package/lib-esm/clients/middleware/signing/signer/signatureV4/utils/getStringToSign.js +1 -3
  247. package/lib-esm/clients/middleware/signing/utils/extendedEncodeURIComponent.js +3 -5
  248. package/lib-esm/clients/middleware/signing/utils/getSkewCorrectedDate.js +1 -3
  249. package/lib-esm/clients/middleware/signing/utils/getUpdatedSystemClockOffset.js +1 -1
  250. package/lib-esm/clients/middleware/signing/utils/isClockSkewed.js +3 -5
  251. package/lib-esm/clients/middleware/userAgent/middleware.js +14 -63
  252. package/lib-esm/clients/serde/json.js +29 -95
  253. package/lib-esm/clients/serde/responseInfo.js +11 -17
  254. package/lib-esm/clients/utils/memoization.js +3 -3
  255. package/lib-esm/constants.js +5 -5
  256. package/lib-esm/errors/AmplifyError.js +9 -29
  257. package/lib-esm/errors/PlatformNotSupportedError.js +5 -23
  258. package/lib-esm/errors/createAssertionFunction.js +11 -14
  259. package/lib-esm/errors/errorHelpers.js +6 -7
  260. package/lib-esm/index.d.ts +1 -1
  261. package/lib-esm/libraryUtils.d.ts +4 -0
  262. package/lib-esm/libraryUtils.js +4 -0
  263. package/lib-esm/parseAWSExports.js +108 -99
  264. package/lib-esm/providers/kinesis/types/kinesis.d.ts +1 -1
  265. package/lib-esm/providers/kinesis-firehose/types/kinesis-firehose.d.ts +1 -1
  266. package/lib-esm/providers/personalize/types/personalize.d.ts +1 -1
  267. package/lib-esm/providers/pinpoint/apis/flushEvents.js +6 -6
  268. package/lib-esm/providers/pinpoint/apis/record.js +54 -89
  269. package/lib-esm/providers/pinpoint/apis/updateEndpoint.js +61 -108
  270. package/lib-esm/providers/pinpoint/types/pinpoint.d.ts +3 -1
  271. package/lib-esm/providers/pinpoint/utils/PinpointEventBuffer.js +102 -194
  272. package/lib-esm/providers/pinpoint/utils/cacheEndpointId.js +10 -47
  273. package/lib-esm/providers/pinpoint/utils/constants.js +4 -4
  274. package/lib-esm/providers/pinpoint/utils/getCacheKey.js +2 -2
  275. package/lib-esm/providers/pinpoint/utils/getEndpointId.js +5 -49
  276. package/lib-esm/providers/pinpoint/utils/getEventBuffer.js +17 -19
  277. package/lib-esm/providers/pinpoint/utils/isAppInForeground.js +1 -1
  278. package/lib-esm/providers/pinpoint/utils/isAppInForeground.native.js +1 -1
  279. package/lib-esm/providers/pinpoint/utils/resolveEndpointId.js +16 -67
  280. package/lib-esm/singleton/Amplify.d.ts +4 -0
  281. package/lib-esm/singleton/Amplify.js +18 -101
  282. package/lib-esm/singleton/Analytics/types.d.ts +5 -1
  283. package/lib-esm/singleton/Auth/index.js +48 -116
  284. package/lib-esm/singleton/Auth/types.d.ts +2 -2
  285. package/lib-esm/singleton/Auth/utils/errorHelpers.js +7 -8
  286. package/lib-esm/singleton/Auth/utils/index.js +16 -17
  287. package/lib-esm/singleton/Predictions/types.d.ts +49 -0
  288. package/lib-esm/singleton/Predictions/types.js +3 -0
  289. package/lib-esm/singleton/apis/fetchAuthSession.js +1 -1
  290. package/lib-esm/singleton/apis/internal/fetchAuthSession.js +1 -1
  291. package/lib-esm/singleton/apis/server/fetchAuthSession.js +1 -1
  292. package/lib-esm/singleton/types.d.ts +3 -1
  293. package/lib-esm/storage/CookieStorage.js +28 -99
  294. package/lib-esm/storage/CookieStorage.native.js +4 -22
  295. package/lib-esm/storage/DefaultStorage.js +4 -22
  296. package/lib-esm/storage/DefaultStorage.native.js +17 -64
  297. package/lib-esm/storage/InMemoryStorage.js +17 -24
  298. package/lib-esm/storage/KeyValueStorage.js +23 -80
  299. package/lib-esm/storage/SessionStorage.js +4 -22
  300. package/lib-esm/storage/index.js +3 -3
  301. package/lib-esm/storage/utils.js +6 -10
  302. package/lib-esm/tsconfig.tsbuildinfo +1 -1
  303. package/lib-esm/utils/WordArray.d.ts +7 -0
  304. package/lib-esm/utils/WordArray.js +46 -0
  305. package/lib-esm/utils/amplifyUrl/index.js +2 -2
  306. package/lib-esm/utils/amplifyUuid/index.d.ts +1 -1
  307. package/lib-esm/utils/amplifyUuid/index.js +1 -1
  308. package/lib-esm/utils/convert/base64/base64Decoder.js +2 -2
  309. package/lib-esm/utils/convert/base64/base64Encoder.js +4 -5
  310. package/lib-esm/utils/convert/base64/bytesToString.js +1 -1
  311. package/lib-esm/utils/cryptoSecureRandomInt.d.ts +1 -0
  312. package/lib-esm/utils/cryptoSecureRandomInt.js +12 -0
  313. package/lib-esm/utils/deepFreeze.js +6 -28
  314. package/lib-esm/utils/generateRandomString.js +4 -4
  315. package/lib-esm/utils/getClientInfo/getClientInfo.android.js +5 -5
  316. package/lib-esm/utils/getClientInfo/getClientInfo.ios.js +10 -10
  317. package/lib-esm/utils/getClientInfo/getClientInfo.js +15 -15
  318. package/lib-esm/utils/globalHelpers/index.js +3 -3
  319. package/lib-esm/utils/globalHelpers/index.native.js +4 -4
  320. package/lib-esm/utils/isBrowser.js +1 -3
  321. package/lib-esm/utils/isWebWorker.js +2 -2
  322. package/lib-esm/utils/retry/NonRetryableError.js +5 -24
  323. package/lib-esm/utils/retry/constants.js +1 -1
  324. package/lib-esm/utils/retry/isNonRetryableError.js +2 -2
  325. package/lib-esm/utils/retry/jitteredBackoff.js +5 -6
  326. package/lib-esm/utils/retry/jitteredExponentialRetry.js +1 -4
  327. package/lib-esm/utils/retry/retry.js +48 -138
  328. package/lib-esm/utils/sessionListener/SessionListener.js +16 -19
  329. package/lib-esm/utils/sessionListener/SessionListener.native.js +17 -22
  330. package/lib-esm/utils/sessionListener/constants.d.ts +2 -0
  331. package/lib-esm/utils/sessionListener/constants.js +5 -0
  332. package/lib-esm/utils/sessionListener/index.d.ts +1 -0
  333. package/lib-esm/utils/sessionListener/index.js +2 -1
  334. package/lib-esm/utils/urlSafeDecode.js +2 -2
  335. package/lib-esm/utils/urlSafeEncode.js +1 -1
  336. package/package.json +11 -24
  337. package/src/Cache/types/index.ts +4 -4
  338. package/src/Platform/types.ts +1 -1
  339. package/src/Platform/version.ts +1 -1
  340. package/src/Signer/DateUtils.ts +10 -2
  341. package/src/Signer/Signer.ts +9 -2
  342. package/src/clients/middleware/signing/signer/signatureV4/index.ts +0 -1
  343. package/src/index.ts +1 -0
  344. package/src/libraryUtils.ts +7 -1
  345. package/src/parseAWSExports.ts +45 -6
  346. package/src/providers/kinesis/types/kinesis.ts +1 -1
  347. package/src/providers/kinesis-firehose/types/kinesis-firehose.ts +1 -1
  348. package/src/providers/personalize/types/personalize.ts +1 -1
  349. package/src/providers/pinpoint/apis/record.ts +22 -5
  350. package/src/providers/pinpoint/types/pinpoint.ts +3 -1
  351. package/src/singleton/Amplify.ts +9 -52
  352. package/src/singleton/Analytics/types.ts +9 -4
  353. package/src/singleton/Auth/types.ts +2 -2
  354. package/src/singleton/Predictions/types.ts +61 -0
  355. package/src/singleton/types.ts +3 -1
  356. package/src/utils/WordArray.ts +57 -0
  357. package/src/utils/amplifyUuid/index.ts +1 -1
  358. package/src/utils/cryptoSecureRandomInt.ts +14 -0
  359. package/src/utils/sessionListener/constants.ts +6 -0
  360. package/src/utils/sessionListener/index.ts +1 -0
@@ -1,20 +1,20 @@
1
1
  // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
2
  // SPDX-License-Identifier: Apache-2.0
3
- export var globalExists = function () {
3
+ export const globalExists = () => {
4
4
  return typeof global !== 'undefined';
5
5
  };
6
- export var globalThisExists = function () {
6
+ export const globalThisExists = () => {
7
7
  return typeof globalThis !== 'undefined';
8
8
  };
9
- export var windowExists = function () {
9
+ export const windowExists = () => {
10
10
  return typeof window !== 'undefined';
11
11
  };
12
- export var documentExists = function () {
12
+ export const documentExists = () => {
13
13
  return typeof document !== 'undefined';
14
14
  };
15
- export var processExists = function () {
15
+ export const processExists = () => {
16
16
  return typeof process !== 'undefined';
17
17
  };
18
- export var keyPrefixMatch = function (object, prefix) {
19
- return !!Object.keys(object).find(function (key) { return key.startsWith(prefix); });
18
+ export const keyPrefixMatch = (object, prefix) => {
19
+ return !!Object.keys(object).find(key => key.startsWith(prefix));
20
20
  };
@@ -11,7 +11,7 @@ import { reactNativeDetect } from './ReactNative';
11
11
  import { expoDetect } from './Expo';
12
12
  import { webDetect } from './Web';
13
13
  // These are in the order of detection where when both are detectable, the early Framework will be reported
14
- var detectionMap = [
14
+ const detectionMap = [
15
15
  // First, detect mobile
16
16
  { platform: Framework.Expo, detectionMethod: expoDetect },
17
17
  { platform: Framework.ReactNative, detectionMethod: reactNativeDetect },
@@ -32,6 +32,6 @@ var detectionMap = [
32
32
  { platform: Framework.SvelteSSR, detectionMethod: svelteSSRDetect },
33
33
  ];
34
34
  export function detect() {
35
- var _a;
36
- return (((_a = detectionMap.find(function (detectionEntry) { return detectionEntry.detectionMethod(); })) === null || _a === void 0 ? void 0 : _a.platform) || Framework.ServerSideUnknown);
35
+ return (detectionMap.find(detectionEntry => detectionEntry.detectionMethod())
36
+ ?.platform || Framework.ServerSideUnknown);
37
37
  }
@@ -1,75 +1,46 @@
1
1
  // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
2
  // SPDX-License-Identifier: Apache-2.0
3
- var __read = (this && this.__read) || function (o, n) {
4
- var m = typeof Symbol === "function" && o[Symbol.iterator];
5
- if (!m) return o;
6
- var i = m.call(o), r, ar = [], e;
7
- try {
8
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
9
- }
10
- catch (error) { e = { error: error }; }
11
- finally {
12
- try {
13
- if (r && !r.done && (m = i["return"])) m.call(i);
14
- }
15
- finally { if (e) throw e.error; }
16
- }
17
- return ar;
18
- };
19
3
  import { Framework } from './types';
20
4
  import { version } from './version';
21
5
  import { detectFramework, observeFrameworkChanges } from './detectFramework';
22
6
  import { getCustomUserAgent } from './customUserAgent';
23
- var BASE_USER_AGENT = "aws-amplify";
24
- var PlatformBuilder = /** @class */ (function () {
25
- function PlatformBuilder() {
26
- this.userAgent = "".concat(BASE_USER_AGENT, "/").concat(version);
7
+ const BASE_USER_AGENT = `aws-amplify`;
8
+ class PlatformBuilder {
9
+ constructor() {
10
+ this.userAgent = `${BASE_USER_AGENT}/${version}`;
27
11
  }
28
- Object.defineProperty(PlatformBuilder.prototype, "framework", {
29
- get: function () {
30
- return detectFramework();
31
- },
32
- enumerable: false,
33
- configurable: true
34
- });
35
- Object.defineProperty(PlatformBuilder.prototype, "isReactNative", {
36
- get: function () {
37
- return (this.framework === Framework.ReactNative ||
38
- this.framework === Framework.Expo);
39
- },
40
- enumerable: false,
41
- configurable: true
42
- });
43
- PlatformBuilder.prototype.observeFrameworkChanges = function (fcn) {
12
+ get framework() {
13
+ return detectFramework();
14
+ }
15
+ get isReactNative() {
16
+ return (this.framework === Framework.ReactNative ||
17
+ this.framework === Framework.Expo);
18
+ }
19
+ observeFrameworkChanges(fcn) {
44
20
  observeFrameworkChanges(fcn);
45
- };
46
- return PlatformBuilder;
47
- }());
48
- export var Platform = new PlatformBuilder();
49
- export var getAmplifyUserAgentObject = function (_a) {
50
- var _b = _a === void 0 ? {} : _a, category = _b.category, action = _b.action, framework = _b.framework;
51
- var userAgent = [[BASE_USER_AGENT, version]];
21
+ }
22
+ }
23
+ export const Platform = new PlatformBuilder();
24
+ export const getAmplifyUserAgentObject = ({ category, action, framework, } = {}) => {
25
+ const userAgent = [[BASE_USER_AGENT, version]];
52
26
  if (category) {
53
27
  userAgent.push([category, action]);
54
28
  }
55
29
  userAgent.push(['framework', detectFramework()]);
56
30
  if (category && action) {
57
- var customState = getCustomUserAgent(category, action);
31
+ const customState = getCustomUserAgent(category, action);
58
32
  if (customState) {
59
- customState.forEach(function (state) {
33
+ customState.forEach(state => {
60
34
  userAgent.push(state);
61
35
  });
62
36
  }
63
37
  }
64
38
  return userAgent;
65
39
  };
66
- export var getAmplifyUserAgent = function (customUserAgentDetails) {
67
- var userAgent = getAmplifyUserAgentObject(customUserAgentDetails);
68
- var userAgentString = userAgent
69
- .map(function (_a) {
70
- var _b = __read(_a, 2), agentKey = _b[0], agentValue = _b[1];
71
- return agentKey && agentValue ? "".concat(agentKey, "/").concat(agentValue) : agentKey;
72
- })
40
+ export const getAmplifyUserAgent = (customUserAgentDetails) => {
41
+ const userAgent = getAmplifyUserAgentObject(customUserAgentDetails);
42
+ const userAgentString = userAgent
43
+ .map(([agentKey, agentValue]) => agentKey && agentValue ? `${agentKey}/${agentValue}` : agentKey)
73
44
  .join(' ');
74
45
  return userAgentString;
75
46
  };
@@ -85,7 +85,7 @@ export declare enum GeoAction {
85
85
  export declare enum InAppMessagingAction {
86
86
  SyncMessages = "1",
87
87
  IdentifyUser = "2",
88
- DispatchEvent = "3"
88
+ NotifyMessageInteraction = "3"
89
89
  }
90
90
  export declare enum InteractionsAction {
91
91
  None = "0"
@@ -98,7 +98,7 @@ export var InAppMessagingAction;
98
98
  (function (InAppMessagingAction) {
99
99
  InAppMessagingAction["SyncMessages"] = "1";
100
100
  InAppMessagingAction["IdentifyUser"] = "2";
101
- InAppMessagingAction["DispatchEvent"] = "3";
101
+ InAppMessagingAction["NotifyMessageInteraction"] = "3";
102
102
  })(InAppMessagingAction || (InAppMessagingAction = {}));
103
103
  export var InteractionsAction;
104
104
  (function (InteractionsAction) {
@@ -1 +1 @@
1
- export declare const version = "6.0.1-api-v6-models.9351bcf.0+9351bcf";
1
+ export declare const version = "6.0.1-api-v6-models.891fe0d.0+891fe0d";
@@ -1,2 +1,2 @@
1
1
  // generated by genversion
2
- export var version = '6.0.1-api-v6-models.9351bcf.0+9351bcf';
2
+ export const version = '6.0.1-api-v6-models.891fe0d.0+891fe0d';
@@ -1,67 +1,39 @@
1
1
  // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
2
  // SPDX-License-Identifier: Apache-2.0
3
- var __values = (this && this.__values) || function(o) {
4
- var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
5
- if (m) return m.call(o);
6
- if (o && typeof o.length === "number") return {
7
- next: function () {
8
- if (o && i >= o.length) o = void 0;
9
- return { value: o && o[i++], done: !o };
10
- }
11
- };
12
- throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
13
- };
14
3
  import { Observable, from } from 'rxjs';
15
4
  import { isWebWorker } from '../libraryUtils';
16
- export var Reachability = /** @class */ (function () {
17
- function Reachability() {
18
- }
19
- Reachability.prototype.networkMonitor = function (_) {
20
- var globalObj = isWebWorker()
5
+ class Reachability {
6
+ networkMonitor(_) {
7
+ const globalObj = isWebWorker()
21
8
  ? self
22
9
  : typeof window !== 'undefined' && window;
23
10
  if (!globalObj) {
24
11
  return from([{ online: true }]);
25
12
  }
26
- return new Observable(function (observer) {
13
+ return new Observable(observer => {
27
14
  observer.next({ online: globalObj.navigator.onLine });
28
- var notifyOnline = function () { return observer.next({ online: true }); };
29
- var notifyOffline = function () { return observer.next({ online: false }); };
15
+ const notifyOnline = () => observer.next({ online: true });
16
+ const notifyOffline = () => observer.next({ online: false });
30
17
  globalObj.addEventListener('online', notifyOnline);
31
18
  globalObj.addEventListener('offline', notifyOffline);
32
19
  Reachability._observers.push(observer);
33
- return function () {
20
+ return () => {
34
21
  globalObj.removeEventListener('online', notifyOnline);
35
22
  globalObj.removeEventListener('offline', notifyOffline);
36
- Reachability._observers = Reachability._observers.filter(function (_observer) { return _observer !== observer; });
23
+ Reachability._observers = Reachability._observers.filter(_observer => _observer !== observer);
37
24
  };
38
25
  });
39
- };
26
+ }
40
27
  // expose observers to simulate offline mode for integration testing
41
- Reachability._observerOverride = function (status) {
42
- var e_1, _a;
43
- var _loop_1 = function (observer) {
28
+ static _observerOverride(status) {
29
+ for (const observer of this._observers) {
44
30
  if (observer.closed) {
45
- this_1._observers = this_1._observers.filter(function (_observer) { return _observer !== observer; });
46
- return "continue";
47
- }
48
- (observer === null || observer === void 0 ? void 0 : observer.next) && observer.next(status);
49
- };
50
- var this_1 = this;
51
- try {
52
- for (var _b = __values(this._observers), _c = _b.next(); !_c.done; _c = _b.next()) {
53
- var observer = _c.value;
54
- _loop_1(observer);
31
+ this._observers = this._observers.filter(_observer => _observer !== observer);
32
+ continue;
55
33
  }
34
+ observer?.next && observer.next(status);
56
35
  }
57
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
58
- finally {
59
- try {
60
- if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
61
- }
62
- finally { if (e_1) throw e_1.error; }
63
- }
64
- };
65
- Reachability._observers = [];
66
- return Reachability;
67
- }());
36
+ }
37
+ }
38
+ Reachability._observers = [];
39
+ export { Reachability };
@@ -2,11 +2,9 @@
2
2
  // SPDX-License-Identifier: Apache-2.0
3
3
  import { Observable } from 'rxjs';
4
4
  import { ConsoleLogger as Logger } from '../Logger';
5
- var logger = new Logger('Reachability', 'DEBUG');
6
- var Reachability = /** @class */ (function () {
7
- function Reachability() {
8
- }
9
- Reachability.prototype.networkMonitor = function (netInfo) {
5
+ const logger = new Logger('Reachability', 'DEBUG');
6
+ export class Reachability {
7
+ networkMonitor(netInfo) {
10
8
  /**
11
9
  * Here netinfo refers to @react-native-community/netinfo
12
10
  * This is needed in React Native to enable network detection
@@ -17,23 +15,20 @@ var Reachability = /** @class */ (function () {
17
15
  if (!(netInfo && netInfo.addEventListener)) {
18
16
  throw new Error('NetInfo must be passed to networkMonitor to enable reachability in React Native');
19
17
  }
20
- return new Observable(function (observer) {
18
+ return new Observable(observer => {
21
19
  logger.log('subscribing to reachability in React Native');
22
- var unsubscribe = netInfo.addEventListener(function (_a) {
23
- var isInternetReachable = _a.isInternetReachable;
20
+ const unsubscribe = netInfo.addEventListener(({ isInternetReachable }) => {
24
21
  // `isInternetReachable` can sometimes be `null` initially, so we want
25
22
  // to make sure it is a boolean first before sending it to the observer.
26
23
  if (typeof isInternetReachable === 'boolean') {
27
- var online = isInternetReachable;
24
+ const online = isInternetReachable;
28
25
  logger.log('Notifying reachability change', online);
29
- observer.next({ online: online });
26
+ observer.next({ online });
30
27
  }
31
28
  });
32
- return function () {
29
+ return () => {
33
30
  unsubscribe();
34
31
  };
35
32
  });
36
- };
37
- return Reachability;
38
- }());
39
- export { Reachability };
33
+ }
34
+ }
@@ -1,41 +1,5 @@
1
1
  // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
2
  // SPDX-License-Identifier: Apache-2.0
3
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
4
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
5
- return new (P || (P = Promise))(function (resolve, reject) {
6
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
7
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
8
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
9
- step((generator = generator.apply(thisArg, _arguments || [])).next());
10
- });
11
- };
12
- var __generator = (this && this.__generator) || function (thisArg, body) {
13
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
14
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
15
- function verb(n) { return function (v) { return step([n, v]); }; }
16
- function step(op) {
17
- if (f) throw new TypeError("Generator is already executing.");
18
- while (g && (g = 0, op[0] && (_ = 0)), _) try {
19
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
20
- if (y = 0, t) op = [op[0] & 2, t.value];
21
- switch (op[0]) {
22
- case 0: case 1: t = op; break;
23
- case 4: _.label++; return { value: op[1], done: false };
24
- case 5: _.label++; y = op[1]; op = [0]; continue;
25
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
26
- default:
27
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
28
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
29
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
30
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
31
- if (t[2]) _.ops.pop();
32
- _.trys.pop(); continue;
33
- }
34
- op = body.call(thisArg, _);
35
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
36
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
37
- }
38
- };
39
3
  import { ConsoleLogger as Logger } from '../Logger';
40
4
  import { isBrowser } from '../utils';
41
5
  import { AmplifyError } from '../errors';
@@ -54,22 +18,18 @@ import { Amplify, fetchAuthSession } from '../singleton';
54
18
  * and attempt to dispatch messages on state change and record analytics
55
19
  * events based on the service worker lifecycle.
56
20
  */
57
- var ServiceWorkerClass = /** @class */ (function () {
58
- function ServiceWorkerClass() {
21
+ export class ServiceWorkerClass {
22
+ constructor() {
59
23
  // The AWS Amplify logger
60
24
  this._logger = new Logger('ServiceWorker');
61
25
  }
62
- Object.defineProperty(ServiceWorkerClass.prototype, "serviceWorker", {
63
- /**
64
- * Get the currently active service worker
65
- */
66
- get: function () {
67
- assert(this._serviceWorker !== undefined, ServiceWorkerErrorCode.UndefinedInstance);
68
- return this._serviceWorker;
69
- },
70
- enumerable: false,
71
- configurable: true
72
- });
26
+ /**
27
+ * Get the currently active service worker
28
+ */
29
+ get serviceWorker() {
30
+ assert(this._serviceWorker !== undefined, ServiceWorkerErrorCode.UndefinedInstance);
31
+ return this._serviceWorker;
32
+ }
73
33
  /**
74
34
  * Register the service-worker.js file in the browser
75
35
  * Make sure the service-worker.js is part of the build
@@ -82,35 +42,32 @@ var ServiceWorkerClass = /** @class */ (function () {
82
42
  * - resolve(ServiceWorkerRegistration)
83
43
  * - reject(Error)
84
44
  **/
85
- ServiceWorkerClass.prototype.register = function (filePath, scope) {
86
- var _this = this;
87
- if (filePath === void 0) { filePath = '/service-worker.js'; }
88
- if (scope === void 0) { scope = '/'; }
89
- this._logger.debug("registering ".concat(filePath));
90
- this._logger.debug("registering service worker with scope ".concat(scope));
91
- return new Promise(function (resolve, reject) {
45
+ register(filePath = '/service-worker.js', scope = '/') {
46
+ this._logger.debug(`registering ${filePath}`);
47
+ this._logger.debug(`registering service worker with scope ${scope}`);
48
+ return new Promise((resolve, reject) => {
92
49
  if (navigator && 'serviceWorker' in navigator) {
93
50
  navigator.serviceWorker
94
51
  .register(filePath, {
95
- scope: scope,
52
+ scope,
96
53
  })
97
- .then(function (registration) {
54
+ .then(registration => {
98
55
  if (registration.installing) {
99
- _this._serviceWorker = registration.installing;
56
+ this._serviceWorker = registration.installing;
100
57
  }
101
58
  else if (registration.waiting) {
102
- _this._serviceWorker = registration.waiting;
59
+ this._serviceWorker = registration.waiting;
103
60
  }
104
61
  else if (registration.active) {
105
- _this._serviceWorker = registration.active;
62
+ this._serviceWorker = registration.active;
106
63
  }
107
- _this._registration = registration;
108
- _this._setupListeners();
109
- _this._logger.debug("Service Worker Registration Success: ".concat(registration));
64
+ this._registration = registration;
65
+ this._setupListeners();
66
+ this._logger.debug(`Service Worker Registration Success: ${registration}`);
110
67
  return resolve(registration);
111
68
  })
112
- .catch(function (error) {
113
- _this._logger.debug("Service Worker Registration Failed ".concat(error));
69
+ .catch(error => {
70
+ this._logger.debug(`Service Worker Registration Failed ${error}`);
114
71
  return reject(new AmplifyError({
115
72
  name: ServiceWorkerErrorCode.Unavailable,
116
73
  message: 'Service Worker not available',
@@ -125,7 +82,7 @@ var ServiceWorkerClass = /** @class */ (function () {
125
82
  }));
126
83
  }
127
84
  });
128
- };
85
+ }
129
86
  /**
130
87
  * Enable web push notifications. If not subscribed, a new subscription will
131
88
  * be created and registered.
@@ -137,32 +94,31 @@ var ServiceWorkerClass = /** @class */ (function () {
137
94
  * - resolve(PushSubscription)
138
95
  * - reject(Error)
139
96
  */
140
- ServiceWorkerClass.prototype.enablePush = function (publicKey) {
141
- var _this = this;
97
+ enablePush(publicKey) {
142
98
  assert(this._registration !== undefined, ServiceWorkerErrorCode.UndefinedRegistration);
143
99
  this._publicKey = publicKey;
144
- return new Promise(function (resolve, reject) {
100
+ return new Promise((resolve, reject) => {
145
101
  if (isBrowser()) {
146
- assert(_this._registration !== undefined, ServiceWorkerErrorCode.UndefinedRegistration);
147
- _this._registration.pushManager.getSubscription().then(function (subscription) {
102
+ assert(this._registration !== undefined, ServiceWorkerErrorCode.UndefinedRegistration);
103
+ this._registration.pushManager.getSubscription().then(subscription => {
148
104
  if (subscription) {
149
- _this._subscription = subscription;
150
- _this._logger.debug("User is subscribed to push: ".concat(JSON.stringify(subscription)));
105
+ this._subscription = subscription;
106
+ this._logger.debug(`User is subscribed to push: ${JSON.stringify(subscription)}`);
151
107
  resolve(subscription);
152
108
  }
153
109
  else {
154
- _this._logger.debug("User is NOT subscribed to push");
155
- return _this._registration.pushManager.subscribe({
110
+ this._logger.debug(`User is NOT subscribed to push`);
111
+ return this._registration.pushManager.subscribe({
156
112
  userVisibleOnly: true,
157
- applicationServerKey: _this._urlB64ToUint8Array(publicKey),
113
+ applicationServerKey: this._urlB64ToUint8Array(publicKey),
158
114
  })
159
- .then(function (subscription) {
160
- _this._subscription = subscription;
161
- _this._logger.debug("User subscribed: ".concat(JSON.stringify(subscription)));
115
+ .then(subscription => {
116
+ this._subscription = subscription;
117
+ this._logger.debug(`User subscribed: ${JSON.stringify(subscription)}`);
162
118
  resolve(subscription);
163
119
  })
164
- .catch(function (error) {
165
- _this._logger.error(error);
120
+ .catch(error => {
121
+ this._logger.error(error);
166
122
  });
167
123
  }
168
124
  });
@@ -174,23 +130,23 @@ var ServiceWorkerClass = /** @class */ (function () {
174
130
  }));
175
131
  }
176
132
  });
177
- };
133
+ }
178
134
  /**
179
135
  * Convert a base64 encoded string to a Uint8 array for the push server key
180
136
  * @param base64String
181
137
  */
182
- ServiceWorkerClass.prototype._urlB64ToUint8Array = function (base64String) {
183
- var padding = '='.repeat((4 - (base64String.length % 4)) % 4);
184
- var base64 = (base64String + padding)
138
+ _urlB64ToUint8Array(base64String) {
139
+ const padding = '='.repeat((4 - (base64String.length % 4)) % 4);
140
+ const base64 = (base64String + padding)
185
141
  .replace(/\-/g, '+')
186
142
  .replace(/_/g, '/');
187
- var rawData = window.atob(base64);
188
- var outputArray = new Uint8Array(rawData.length);
189
- for (var i = 0; i < rawData.length; ++i) {
143
+ const rawData = window.atob(base64);
144
+ const outputArray = new Uint8Array(rawData.length);
145
+ for (let i = 0; i < rawData.length; ++i) {
190
146
  outputArray[i] = rawData.charCodeAt(i);
191
147
  }
192
148
  return outputArray;
193
- };
149
+ }
194
150
  /**
195
151
  * Send a message to the service worker. The service worker needs
196
152
  * to implement `self.addEventListener('message') to handle the
@@ -199,52 +155,39 @@ var ServiceWorkerClass = /** @class */ (function () {
199
155
  * - see: https://developer.mozilla.org/en-US/docs/Web/API/Transferable
200
156
  * @returns {Promise}
201
157
  **/
202
- ServiceWorkerClass.prototype.send = function (message) {
158
+ send(message) {
203
159
  if (this._serviceWorker) {
204
160
  this._serviceWorker.postMessage(typeof message === 'object' ? JSON.stringify(message) : message);
205
161
  }
206
- };
162
+ }
207
163
  /**
208
164
  * Listen for service worker state change and message events
209
165
  * https://developer.mozilla.org/en-US/docs/Web/API/ServiceWorker/state
210
166
  **/
211
- ServiceWorkerClass.prototype._setupListeners = function () {
212
- var _this = this;
213
- this.serviceWorker.addEventListener('statechange', function (event) { return __awaiter(_this, void 0, void 0, function () {
214
- var currentState, _a, appId, region, credentials;
215
- var _b, _c;
216
- return __generator(this, function (_d) {
217
- switch (_d.label) {
218
- case 0:
219
- currentState = this.serviceWorker.state;
220
- this._logger.debug("ServiceWorker statechange: ".concat(currentState));
221
- _a = (_c = (_b = Amplify.getConfig().Analytics) === null || _b === void 0 ? void 0 : _b.Pinpoint) !== null && _c !== void 0 ? _c : {}, appId = _a.appId, region = _a.region;
222
- return [4 /*yield*/, fetchAuthSession()];
223
- case 1:
224
- credentials = (_d.sent()).credentials;
225
- if (appId && region && credentials) {
226
- // Pinpoint is configured, record an event
227
- record({
228
- appId: appId,
229
- region: region,
230
- category: 'Core',
231
- credentials: credentials,
232
- event: {
233
- name: 'ServiceWorker',
234
- attributes: {
235
- state: currentState,
236
- },
237
- },
238
- });
239
- }
240
- return [2 /*return*/];
241
- }
242
- });
243
- }); });
244
- this.serviceWorker.addEventListener('message', function (event) {
245
- _this._logger.debug("ServiceWorker message event: ".concat(event));
167
+ _setupListeners() {
168
+ this.serviceWorker.addEventListener('statechange', async (event) => {
169
+ const currentState = this.serviceWorker.state;
170
+ this._logger.debug(`ServiceWorker statechange: ${currentState}`);
171
+ const { appId, region } = Amplify.getConfig().Analytics?.Pinpoint ?? {};
172
+ const { credentials } = await fetchAuthSession();
173
+ if (appId && region && credentials) {
174
+ // Pinpoint is configured, record an event
175
+ record({
176
+ appId,
177
+ region,
178
+ category: 'Core',
179
+ credentials,
180
+ event: {
181
+ name: 'ServiceWorker',
182
+ attributes: {
183
+ state: currentState,
184
+ },
185
+ },
186
+ });
187
+ }
188
+ });
189
+ this.serviceWorker.addEventListener('message', event => {
190
+ this._logger.debug(`ServiceWorker message event: ${event}`);
246
191
  });
247
- };
248
- return ServiceWorkerClass;
249
- }());
250
- export { ServiceWorkerClass };
192
+ }
193
+ }
@@ -1,6 +1,5 @@
1
1
  // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
2
  // SPDX-License-Identifier: Apache-2.0
3
- var _a;
4
3
  import { createAssertionFunction } from '../errors';
5
4
  export var ServiceWorkerErrorCode;
6
5
  (function (ServiceWorkerErrorCode) {
@@ -8,15 +7,15 @@ export var ServiceWorkerErrorCode;
8
7
  ServiceWorkerErrorCode["UndefinedRegistration"] = "UndefinedRegistration";
9
8
  ServiceWorkerErrorCode["Unavailable"] = "Unavailable";
10
9
  })(ServiceWorkerErrorCode || (ServiceWorkerErrorCode = {}));
11
- var serviceWorkerErrorMap = (_a = {},
12
- _a[ServiceWorkerErrorCode.UndefinedInstance] = {
10
+ const serviceWorkerErrorMap = {
11
+ [ServiceWorkerErrorCode.UndefinedInstance]: {
13
12
  message: 'Service Worker instance is undefined.',
14
13
  },
15
- _a[ServiceWorkerErrorCode.UndefinedRegistration] = {
14
+ [ServiceWorkerErrorCode.UndefinedRegistration]: {
16
15
  message: 'Service Worker registration is undefined.',
17
16
  },
18
- _a[ServiceWorkerErrorCode.Unavailable] = {
17
+ [ServiceWorkerErrorCode.Unavailable]: {
19
18
  message: 'Service Worker not available.',
20
19
  },
21
- _a);
22
- export var assert = createAssertionFunction(serviceWorkerErrorMap);
20
+ };
21
+ export const assert = createAssertionFunction(serviceWorkerErrorMap);
@@ -14,5 +14,14 @@ type DateUtils = {
14
14
  isClockSkewError: (error: any) => boolean;
15
15
  setClockOffset: (offset: number) => void;
16
16
  };
17
+ /**
18
+ * This utility is intended to be deprecated and replaced by `signRequest` and `presignUrl` functions from
19
+ * `clients/middleware/signing/signer/signatureV4`.
20
+ *
21
+ * TODO: refactor the logics here into `signRequest` and `presignUrl` functions and remove this class.
22
+ *
23
+ * @internal
24
+ * @deprecated
25
+ */
17
26
  export declare const DateUtils: DateUtils;
18
27
  export {};