@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
@@ -0,0 +1,7 @@
1
+ export default class WordArray {
2
+ words: number[];
3
+ sigBytes: number;
4
+ constructor(words?: number[], sigBytes?: number);
5
+ random(nBytes: number): WordArray;
6
+ toString(): string;
7
+ }
@@ -0,0 +1,46 @@
1
+ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
+ // SPDX-License-Identifier: Apache-2.0
3
+ import { cryptoSecureRandomInt } from './cryptoSecureRandomInt';
4
+ /**
5
+ * Hex encoding strategy.
6
+ * Converts a word array to a hex string.
7
+ * @param {WordArray} wordArray The word array.
8
+ * @return {string} The hex string.
9
+ * @static
10
+ */
11
+ function hexStringify(wordArray) {
12
+ // Shortcuts
13
+ const words = wordArray.words;
14
+ const sigBytes = wordArray.sigBytes;
15
+ // Convert
16
+ const hexChars = [];
17
+ for (let i = 0; i < sigBytes; i++) {
18
+ const bite = (words[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff;
19
+ hexChars.push((bite >>> 4).toString(16));
20
+ hexChars.push((bite & 0x0f).toString(16));
21
+ }
22
+ return hexChars.join('');
23
+ }
24
+ export default class WordArray {
25
+ constructor(words, sigBytes) {
26
+ this.words = [];
27
+ let Words = words;
28
+ Words = this.words = Words || [];
29
+ if (sigBytes !== undefined) {
30
+ this.sigBytes = sigBytes;
31
+ }
32
+ else {
33
+ this.sigBytes = Words.length * 4;
34
+ }
35
+ }
36
+ random(nBytes) {
37
+ const words = [];
38
+ for (let i = 0; i < nBytes; i += 4) {
39
+ words.push(cryptoSecureRandomInt());
40
+ }
41
+ return new WordArray(words, nBytes);
42
+ }
43
+ toString() {
44
+ return hexStringify(this);
45
+ }
46
+ }
@@ -1,6 +1,6 @@
1
1
  // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
2
  // SPDX-License-Identifier: Apache-2.0
3
3
  import './polyfill';
4
- var AmplifyUrl = URL;
5
- var AmplifyUrlSearchParams = URLSearchParams;
4
+ const AmplifyUrl = URL;
5
+ const AmplifyUrlSearchParams = URLSearchParams;
6
6
  export { AmplifyUrl, AmplifyUrlSearchParams };
@@ -1,3 +1,3 @@
1
1
  import './polyfill';
2
- declare const amplifyUuid: (<T extends ArrayLike<number>>(options: import("uuid").V4Options | null | undefined, buffer: T, offset?: number | undefined) => T) & ((options?: import("uuid").V4Options | undefined) => string);
2
+ declare const amplifyUuid: () => string;
3
3
  export { amplifyUuid };
@@ -2,5 +2,5 @@
2
2
  // SPDX-License-Identifier: Apache-2.0
3
3
  import './polyfill';
4
4
  import { v4 } from 'uuid';
5
- var amplifyUuid = v4;
5
+ const amplifyUuid = v4;
6
6
  export { amplifyUuid };
@@ -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 { getAtob } from '../../globalHelpers';
4
- export var base64Decoder = {
5
- convert: function (input) {
4
+ export const base64Decoder = {
5
+ convert(input) {
6
6
  return getAtob()(input);
7
7
  },
8
8
  };
@@ -2,11 +2,10 @@
2
2
  // SPDX-License-Identifier: Apache-2.0
3
3
  import { getBtoa } from '../../globalHelpers';
4
4
  import { bytesToString } from './bytesToString';
5
- export var base64Encoder = {
6
- convert: function (input, _a) {
7
- var _b = _a === void 0 ? { urlSafe: false } : _a, urlSafe = _b.urlSafe;
8
- var inputStr = typeof input === 'string' ? input : bytesToString(input);
9
- var encodedStr = getBtoa()(inputStr);
5
+ export const base64Encoder = {
6
+ convert(input, { urlSafe } = { urlSafe: false }) {
7
+ const inputStr = typeof input === 'string' ? input : bytesToString(input);
8
+ const encodedStr = getBtoa()(inputStr);
10
9
  // see details about the char replacing at https://datatracker.ietf.org/doc/html/rfc4648#section-5
11
10
  return urlSafe
12
11
  ? encodedStr.replace(/\+/g, '-').replace(/\//g, '_')
@@ -1,5 +1,5 @@
1
1
  // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
2
  // SPDX-License-Identifier: Apache-2.0
3
3
  export function bytesToString(input) {
4
- return Array.from(input, function (byte) { return String.fromCodePoint(byte); }).join('');
4
+ return Array.from(input, byte => String.fromCodePoint(byte)).join('');
5
5
  }
@@ -0,0 +1 @@
1
+ export declare function cryptoSecureRandomInt(): number;
@@ -0,0 +1,12 @@
1
+ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
+ // SPDX-License-Identifier: Apache-2.0
3
+ import { getCrypto } from './globalHelpers';
4
+ /*
5
+ * Cryptographically secure pseudorandom number generator
6
+ * As Math.random() is cryptographically not safe to use
7
+ */
8
+ export function cryptoSecureRandomInt() {
9
+ const crypto = getCrypto();
10
+ const randomResult = crypto.getRandomValues(new Uint32Array(1))[0];
11
+ return randomResult;
12
+ }
@@ -1,34 +1,12 @@
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 };
3
+ export const deepFreeze = (object) => {
4
+ const propNames = Reflect.ownKeys(object);
5
+ for (const name of propNames) {
6
+ const value = object[name];
7
+ if ((value && typeof value === 'object') || typeof value === 'function') {
8
+ deepFreeze(value);
10
9
  }
11
- };
12
- throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
13
- };
14
- export var deepFreeze = function (object) {
15
- var e_1, _a;
16
- var propNames = Reflect.ownKeys(object);
17
- try {
18
- for (var propNames_1 = __values(propNames), propNames_1_1 = propNames_1.next(); !propNames_1_1.done; propNames_1_1 = propNames_1.next()) {
19
- var name_1 = propNames_1_1.value;
20
- var value = object[name_1];
21
- if ((value && typeof value === 'object') || typeof value === 'function') {
22
- deepFreeze(value);
23
- }
24
- }
25
- }
26
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
27
- finally {
28
- try {
29
- if (propNames_1_1 && !propNames_1_1.done && (_a = propNames_1.return)) _a.call(propNames_1);
30
- }
31
- finally { if (e_1) throw e_1.error; }
32
10
  }
33
11
  return Object.freeze(object);
34
12
  };
@@ -1,9 +1,9 @@
1
1
  // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
2
  // SPDX-License-Identifier: Apache-2.0
3
- export var generateRandomString = function (length) {
4
- var STATE_CHARSET = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
5
- var result = '';
6
- for (var i = 0; i < length; i++) {
3
+ export const generateRandomString = (length) => {
4
+ const STATE_CHARSET = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
5
+ let result = '';
6
+ for (let i = 0; i < length; i++) {
7
7
  result += STATE_CHARSET.charAt(Math.floor(Math.random() * STATE_CHARSET.length));
8
8
  }
9
9
  return result;
@@ -3,12 +3,12 @@
3
3
  // @ts-ignore: missing type definition
4
4
  import { Platform, Dimensions } from 'react-native';
5
5
  import { ConsoleLogger as Logger } from '../../Logger';
6
- var logger = new Logger('DeviceInfo');
7
- export var getClientInfo = function () {
8
- var dim = Dimensions.get('screen');
6
+ const logger = new Logger('DeviceInfo');
7
+ export const getClientInfo = () => {
8
+ const dim = Dimensions.get('screen');
9
9
  logger.debug(Platform, dim);
10
- var OS = 'android';
11
- var Version = Platform.Version;
10
+ const OS = 'android';
11
+ const { Version } = Platform;
12
12
  return {
13
13
  platform: OS,
14
14
  version: String(Version),
@@ -3,25 +3,25 @@
3
3
  // @ts-ignore: missing type definition
4
4
  import { Platform, Dimensions } from 'react-native';
5
5
  import { ConsoleLogger as Logger } from '../../Logger';
6
- var logger = new Logger('DeviceInfo');
7
- export var getClientInfo = function () {
8
- var dim = Dimensions.get('screen');
6
+ const logger = new Logger('DeviceInfo');
7
+ export const getClientInfo = () => {
8
+ const dim = Dimensions.get('screen');
9
9
  logger.debug(Platform, dim);
10
- var OS = 'ios';
11
- var Version = Platform.Version;
12
- var _a = dimToMake(dim), make = _a.make, model = _a.model;
10
+ const OS = 'ios';
11
+ const { Version } = Platform;
12
+ const { make, model } = dimToMake(dim);
13
13
  return {
14
14
  platform: OS,
15
15
  version: String(Version),
16
16
  appVersion: [OS, String(Version)].join('/'),
17
- make: make,
18
- model: model,
17
+ make,
18
+ model,
19
19
  };
20
20
  };
21
21
  function dimToMake(dim) {
22
- var height = dim.height, width = dim.width;
22
+ let { height, width } = dim;
23
23
  if (height < width) {
24
- var tmp = height;
24
+ const tmp = height;
25
25
  height = width;
26
26
  width = tmp;
27
27
  }
@@ -1,7 +1,7 @@
1
1
  // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
2
  // SPDX-License-Identifier: Apache-2.0
3
3
  import { ConsoleLogger as Logger } from '../../Logger';
4
- var logger = new Logger('ClientDevice_Browser');
4
+ const logger = new Logger('ClientDevice_Browser');
5
5
  export function getClientInfo() {
6
6
  if (typeof window === 'undefined') {
7
7
  return {};
@@ -13,50 +13,50 @@ function browserClientInfo() {
13
13
  logger.warn('No window object available to get browser client info');
14
14
  return {};
15
15
  }
16
- var nav = window.navigator;
16
+ const nav = window.navigator;
17
17
  if (!nav) {
18
18
  logger.warn('No navigator object available to get browser client info');
19
19
  return {};
20
20
  }
21
- var platform = nav.platform, product = nav.product, vendor = nav.vendor, userAgent = nav.userAgent, language = nav.language;
22
- var type = getBrowserType(userAgent);
23
- var timezone = browserTimezone();
21
+ const { platform, product, vendor, userAgent, language } = nav;
22
+ const type = getBrowserType(userAgent);
23
+ const timezone = browserTimezone();
24
24
  return {
25
- platform: platform,
25
+ platform,
26
26
  make: product || vendor,
27
27
  model: type.type,
28
28
  version: type.version,
29
29
  appVersion: [type.type, type.version].join('/'),
30
- language: language,
31
- timezone: timezone,
30
+ language,
31
+ timezone,
32
32
  };
33
33
  }
34
34
  function browserTimezone() {
35
- var tzMatch = /\(([A-Za-z\s].*)\)/.exec(new Date().toString());
35
+ const tzMatch = /\(([A-Za-z\s].*)\)/.exec(new Date().toString());
36
36
  return tzMatch ? tzMatch[1] || '' : '';
37
37
  }
38
38
  function getBrowserType(userAgent) {
39
- var operaMatch = /.+(Opera[\s[A-Z]*|OPR[\sA-Z]*)\/([0-9\.]+).*/i.exec(userAgent);
39
+ const operaMatch = /.+(Opera[\s[A-Z]*|OPR[\sA-Z]*)\/([0-9\.]+).*/i.exec(userAgent);
40
40
  if (operaMatch) {
41
41
  return { type: operaMatch[1], version: operaMatch[2] };
42
42
  }
43
- var ieMatch = /.+(Trident|Edge)\/([0-9\.]+).*/i.exec(userAgent);
43
+ const ieMatch = /.+(Trident|Edge)\/([0-9\.]+).*/i.exec(userAgent);
44
44
  if (ieMatch) {
45
45
  return { type: ieMatch[1], version: ieMatch[2] };
46
46
  }
47
- var cfMatch = /.+(Chrome|Firefox|FxiOS)\/([0-9\.]+).*/i.exec(userAgent);
47
+ const cfMatch = /.+(Chrome|Firefox|FxiOS)\/([0-9\.]+).*/i.exec(userAgent);
48
48
  if (cfMatch) {
49
49
  return { type: cfMatch[1], version: cfMatch[2] };
50
50
  }
51
- var sMatch = /.+(Safari)\/([0-9\.]+).*/i.exec(userAgent);
51
+ const sMatch = /.+(Safari)\/([0-9\.]+).*/i.exec(userAgent);
52
52
  if (sMatch) {
53
53
  return { type: sMatch[1], version: sMatch[2] };
54
54
  }
55
- var awkMatch = /.+(AppleWebKit)\/([0-9\.]+).*/i.exec(userAgent);
55
+ const awkMatch = /.+(AppleWebKit)\/([0-9\.]+).*/i.exec(userAgent);
56
56
  if (awkMatch) {
57
57
  return { type: awkMatch[1], version: awkMatch[2] };
58
58
  }
59
- var anyMatch = /.*([A-Z]+)\/([0-9\.]+).*/i.exec(userAgent);
59
+ const anyMatch = /.*([A-Z]+)\/([0-9\.]+).*/i.exec(userAgent);
60
60
  if (anyMatch) {
61
61
  return { type: anyMatch[1], version: anyMatch[2] };
62
62
  }
@@ -1,7 +1,7 @@
1
1
  // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
2
  // SPDX-License-Identifier: Apache-2.0
3
3
  import { AmplifyError } from '../../errors';
4
- export var getCrypto = function () {
4
+ export const getCrypto = () => {
5
5
  if (typeof window === 'object' && typeof window.crypto === 'object') {
6
6
  return window.crypto;
7
7
  }
@@ -14,7 +14,7 @@ export var getCrypto = function () {
14
14
  message: 'Cannot resolve the `crypto` function from the environment.',
15
15
  });
16
16
  };
17
- export var getBtoa = function () {
17
+ export const getBtoa = () => {
18
18
  // browser
19
19
  if (typeof window !== 'undefined' && typeof window.btoa === 'function') {
20
20
  return window.btoa;
@@ -28,7 +28,7 @@ export var getBtoa = function () {
28
28
  message: 'Cannot resolve the `btoa` function from the environment.',
29
29
  });
30
30
  };
31
- export var getAtob = function () {
31
+ export const getAtob = () => {
32
32
  // browser
33
33
  if (typeof window !== 'undefined' && typeof window.atob === 'function') {
34
34
  return window.atob;
@@ -3,8 +3,8 @@
3
3
  import { loadGetRandomValues, loadBase64 } from '@aws-amplify/react-native';
4
4
  import { AmplifyError } from '../../errors';
5
5
  loadGetRandomValues();
6
- var _a = loadBase64(), encode = _a.encode, decode = _a.decode;
7
- export var getCrypto = function () {
6
+ const { encode, decode } = loadBase64();
7
+ export const getCrypto = () => {
8
8
  if (typeof crypto !== 'undefined' &&
9
9
  typeof crypto.getRandomValues === 'function') {
10
10
  return crypto;
@@ -14,9 +14,9 @@ export var getCrypto = function () {
14
14
  message: 'Cannot resolve the `crypto` function from the environment.',
15
15
  });
16
16
  };
17
- export var getBtoa = function () {
17
+ export const getBtoa = () => {
18
18
  return encode;
19
19
  };
20
- export var getAtob = function () {
20
+ export const getAtob = () => {
21
21
  return decode;
22
22
  };
@@ -1,5 +1,3 @@
1
1
  // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
2
  // SPDX-License-Identifier: Apache-2.0
3
- export var isBrowser = function () {
4
- return typeof window !== 'undefined' && typeof window.document !== 'undefined';
5
- };
3
+ export const isBrowser = () => typeof window !== 'undefined' && typeof window.document !== 'undefined';
@@ -1,10 +1,10 @@
1
1
  // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
2
  // SPDX-License-Identifier: Apache-2.0
3
- export var isWebWorker = function () {
3
+ export const isWebWorker = () => {
4
4
  if (typeof self === 'undefined') {
5
5
  return false;
6
6
  }
7
- var selfContext = self;
7
+ const selfContext = self;
8
8
  return (typeof selfContext.WorkerGlobalScope !== 'undefined' &&
9
9
  self instanceof selfContext.WorkerGlobalScope);
10
10
  };
@@ -1,27 +1,8 @@
1
1
  // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
2
  // SPDX-License-Identifier: Apache-2.0
3
- var __extends = (this && this.__extends) || (function () {
4
- var extendStatics = function (d, b) {
5
- extendStatics = Object.setPrototypeOf ||
6
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
7
- function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
8
- return extendStatics(d, b);
9
- };
10
- return function (d, b) {
11
- if (typeof b !== "function" && b !== null)
12
- throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
13
- extendStatics(d, b);
14
- function __() { this.constructor = d; }
15
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
16
- };
17
- })();
18
- var NonRetryableError = /** @class */ (function (_super) {
19
- __extends(NonRetryableError, _super);
20
- function NonRetryableError(message) {
21
- var _this = _super.call(this, message) || this;
22
- _this.nonRetryable = true;
23
- return _this;
3
+ export class NonRetryableError extends Error {
4
+ constructor(message) {
5
+ super(message);
6
+ this.nonRetryable = true;
24
7
  }
25
- return NonRetryableError;
26
- }(Error));
27
- export { NonRetryableError };
8
+ }
@@ -1,3 +1,3 @@
1
1
  // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
2
  // SPDX-License-Identifier: Apache-2.0
3
- export var MAX_DELAY_MS = 5 * 60 * 1000;
3
+ export const MAX_DELAY_MS = 5 * 60 * 1000;
@@ -1,6 +1,6 @@
1
1
  // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
2
  // SPDX-License-Identifier: Apache-2.0
3
- export var isNonRetryableError = function (obj) {
4
- var key = 'nonRetryable';
3
+ export const isNonRetryableError = (obj) => {
4
+ const key = 'nonRetryable';
5
5
  return obj && obj[key];
6
6
  };
@@ -5,12 +5,11 @@ import { MAX_DELAY_MS } from './constants';
5
5
  * @private
6
6
  * Internal use of Amplify only
7
7
  */
8
- export function jitteredBackoff(maxDelayMs) {
9
- if (maxDelayMs === void 0) { maxDelayMs = MAX_DELAY_MS; }
10
- var BASE_TIME_MS = 100;
11
- var JITTER_FACTOR = 100;
12
- return function (attempt) {
13
- var delay = Math.pow(2, attempt) * BASE_TIME_MS + JITTER_FACTOR * Math.random();
8
+ export function jitteredBackoff(maxDelayMs = MAX_DELAY_MS) {
9
+ const BASE_TIME_MS = 100;
10
+ const JITTER_FACTOR = 100;
11
+ return attempt => {
12
+ const delay = 2 ** attempt * BASE_TIME_MS + JITTER_FACTOR * Math.random();
14
13
  return delay > maxDelayMs ? false : delay;
15
14
  };
16
15
  }
@@ -7,7 +7,4 @@ import { retry } from './retry';
7
7
  * @private
8
8
  * Internal use of Amplify only
9
9
  */
10
- export var jitteredExponentialRetry = function (functionToRetry, args, maxDelayMs, onTerminate) {
11
- if (maxDelayMs === void 0) { maxDelayMs = MAX_DELAY_MS; }
12
- return retry(functionToRetry, args, jitteredBackoff(maxDelayMs), onTerminate);
13
- };
10
+ export const jitteredExponentialRetry = (functionToRetry, args, maxDelayMs = MAX_DELAY_MS, onTerminate) => retry(functionToRetry, args, jitteredBackoff(maxDelayMs), onTerminate);