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