@aws-amplify/core 6.0.1-api-v6-models.9351bcf.0 → 6.0.1-api-v6-models.58f2536.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.
- package/lib/BackgroundProcessManager/BackgroundManagerNotOpenError.js +4 -21
- package/lib/BackgroundProcessManager/BackgroundProcessManager.js +126 -245
- package/lib/Cache/StorageCache.js +32 -92
- package/lib/Cache/StorageCache.native.js +38 -140
- package/lib/Cache/StorageCacheCommon.js +271 -600
- package/lib/Cache/index.js +1 -1
- package/lib/Cache/utils/CacheList.js +42 -66
- package/lib/Cache/utils/cacheHelpers.js +6 -8
- package/lib/Cache/utils/errorHelpers.js +6 -7
- package/lib/Hub/index.js +34 -74
- package/lib/I18n/I18n.js +24 -39
- package/lib/I18n/errorHelpers.js +4 -5
- package/lib/I18n/index.js +24 -27
- package/lib/I18n/types.js +3 -4
- package/lib/Logger/ConsoleLogger.js +53 -129
- package/lib/Mutex/Mutex.js +15 -19
- package/lib/Platform/customUserAgent.js +13 -26
- package/lib/Platform/detectFramework.js +12 -13
- package/lib/Platform/detection/Angular.js +4 -5
- package/lib/Platform/detection/Expo.js +1 -1
- package/lib/Platform/detection/Next.js +1 -1
- package/lib/Platform/detection/Nuxt.js +1 -1
- package/lib/Platform/detection/React.js +5 -5
- package/lib/Platform/detection/Svelte.js +2 -2
- package/lib/Platform/detection/Vue.js +1 -1
- package/lib/Platform/detection/Web.js +1 -1
- package/lib/Platform/detection/helpers.js +7 -7
- package/lib/Platform/detection/index.js +13 -13
- package/lib/Platform/index.js +26 -55
- package/lib/Platform/types.d.ts +1 -1
- package/lib/Platform/types.js +1 -1
- package/lib/Platform/version.d.ts +1 -1
- package/lib/Platform/version.js +1 -1
- package/lib/Reachability/Reachability.js +20 -48
- package/lib/Reachability/Reachability.native.js +12 -16
- package/lib/ServiceWorker/ServiceWorker.js +80 -136
- package/lib/ServiceWorker/errorHelpers.js +6 -7
- package/lib/Signer/DateUtils.d.ts +9 -0
- package/lib/Signer/DateUtils.js +19 -28
- package/lib/Signer/Signer.d.ts +9 -0
- package/lib/Signer/Signer.js +58 -54
- package/lib/adapterCore/error/AmplifyServerContextError.js +9 -27
- package/lib/adapterCore/serverContext/serverContext.js +8 -8
- package/lib/adapterCore/serverContext/serverContextRegistry.js +6 -6
- package/lib/awsClients/cognitoIdentity/base.js +25 -73
- package/lib/awsClients/cognitoIdentity/getCredentialsForIdentity.js +24 -68
- package/lib/awsClients/cognitoIdentity/getId.js +19 -62
- package/lib/awsClients/pinpoint/base.js +12 -15
- package/lib/awsClients/pinpoint/errorHelpers.js +4 -5
- package/lib/awsClients/pinpoint/getInAppMessages.js +24 -68
- package/lib/awsClients/pinpoint/putEvents.js +26 -70
- package/lib/awsClients/pinpoint/updateEndpoint.js +28 -72
- package/lib/clients/endpoints/getDnsSuffix.js +7 -29
- package/lib/clients/handlers/authenticated.js +5 -5
- package/lib/clients/handlers/fetch.js +41 -98
- package/lib/clients/handlers/unauthenticated.js +4 -4
- package/lib/clients/internal/composeServiceApi.js +17 -67
- package/lib/clients/internal/composeTransferHandler.js +9 -11
- package/lib/clients/middleware/retry/defaultRetryDecider.js +18 -75
- package/lib/clients/middleware/retry/isClockSkewError.js +2 -4
- package/lib/clients/middleware/retry/jitteredBackoff.js +5 -5
- package/lib/clients/middleware/retry/middleware.js +61 -125
- package/lib/clients/middleware/signing/middleware.js +24 -86
- package/lib/clients/middleware/signing/signer/signatureV4/index.js +0 -1
- package/lib/clients/middleware/signing/signer/signatureV4/presignUrl.js +21 -56
- package/lib/clients/middleware/signing/signer/signatureV4/signRequest.js +14 -25
- package/lib/clients/middleware/signing/signer/signatureV4/utils/dataHashHelpers.js +7 -7
- package/lib/clients/middleware/signing/signer/signatureV4/utils/getCanonicalHeaders.js +8 -30
- package/lib/clients/middleware/signing/signer/signatureV4/utils/getCanonicalQueryString.js +11 -38
- package/lib/clients/middleware/signing/signer/signatureV4/utils/getCanonicalRequest.js +13 -17
- package/lib/clients/middleware/signing/signer/signatureV4/utils/getCanonicalUri.js +5 -8
- package/lib/clients/middleware/signing/signer/signatureV4/utils/getCredentialScope.js +2 -2
- package/lib/clients/middleware/signing/signer/signatureV4/utils/getFormattedDates.js +3 -3
- package/lib/clients/middleware/signing/signer/signatureV4/utils/getHashedPayload.js +7 -11
- package/lib/clients/middleware/signing/signer/signatureV4/utils/getSignature.js +9 -10
- package/lib/clients/middleware/signing/signer/signatureV4/utils/getSignedHeaders.js +4 -6
- package/lib/clients/middleware/signing/signer/signatureV4/utils/getSigningKey.js +8 -8
- package/lib/clients/middleware/signing/signer/signatureV4/utils/getSigningValues.js +15 -16
- package/lib/clients/middleware/signing/signer/signatureV4/utils/getStringToSign.js +2 -4
- package/lib/clients/middleware/signing/utils/extendedEncodeURIComponent.js +3 -5
- package/lib/clients/middleware/signing/utils/getSkewCorrectedDate.js +1 -3
- package/lib/clients/middleware/signing/utils/getUpdatedSystemClockOffset.js +2 -2
- package/lib/clients/middleware/signing/utils/isClockSkewed.js +4 -6
- package/lib/clients/middleware/userAgent/middleware.js +14 -63
- package/lib/clients/serde/json.js +30 -96
- package/lib/clients/serde/responseInfo.js +12 -18
- package/lib/clients/utils/memoization.js +3 -3
- package/lib/constants.js +1 -1
- package/lib/errors/AmplifyError.js +9 -28
- package/lib/errors/PlatformNotSupportedError.js +7 -24
- package/lib/errors/createAssertionFunction.js +12 -15
- package/lib/errors/errorHelpers.js +7 -8
- package/lib/index.d.ts +1 -1
- package/lib/libraryUtils.d.ts +4 -0
- package/lib/libraryUtils.js +13 -3
- package/lib/parseAWSExports.js +109 -100
- package/lib/providers/kinesis/types/kinesis.d.ts +1 -1
- package/lib/providers/kinesis-firehose/types/kinesis-firehose.d.ts +1 -1
- package/lib/providers/personalize/types/personalize.d.ts +1 -1
- package/lib/providers/pinpoint/apis/flushEvents.js +8 -8
- package/lib/providers/pinpoint/apis/record.js +58 -93
- package/lib/providers/pinpoint/apis/updateEndpoint.js +65 -112
- package/lib/providers/pinpoint/types/pinpoint.d.ts +3 -1
- package/lib/providers/pinpoint/utils/PinpointEventBuffer.js +105 -196
- package/lib/providers/pinpoint/utils/cacheEndpointId.js +12 -49
- package/lib/providers/pinpoint/utils/getCacheKey.js +2 -2
- package/lib/providers/pinpoint/utils/getEndpointId.js +7 -51
- package/lib/providers/pinpoint/utils/getEventBuffer.js +19 -21
- package/lib/providers/pinpoint/utils/isAppInForeground.js +1 -1
- package/lib/providers/pinpoint/utils/isAppInForeground.native.js +2 -2
- package/lib/providers/pinpoint/utils/resolveEndpointId.js +20 -71
- package/lib/singleton/Amplify.d.ts +4 -0
- package/lib/singleton/Amplify.js +21 -103
- package/lib/singleton/Analytics/types.d.ts +5 -1
- package/lib/singleton/Auth/index.js +48 -115
- package/lib/singleton/Auth/types.d.ts +2 -2
- package/lib/singleton/Auth/utils/errorHelpers.js +7 -8
- package/lib/singleton/Auth/utils/index.js +18 -19
- package/lib/singleton/Predictions/types.d.ts +49 -0
- package/lib/singleton/Predictions/types.js +4 -0
- package/lib/singleton/apis/clearCredentials.js +1 -1
- package/lib/singleton/apis/fetchAuthSession.js +3 -3
- package/lib/singleton/apis/internal/fetchAuthSession.js +1 -1
- package/lib/singleton/apis/server/fetchAuthSession.js +3 -3
- package/lib/singleton/types.d.ts +3 -1
- package/lib/storage/CookieStorage.js +29 -99
- package/lib/storage/CookieStorage.native.js +5 -22
- package/lib/storage/DefaultStorage.js +6 -23
- package/lib/storage/DefaultStorage.native.js +18 -64
- package/lib/storage/InMemoryStorage.js +17 -23
- package/lib/storage/KeyValueStorage.js +24 -80
- package/lib/storage/SessionStorage.js +6 -23
- package/lib/storage/index.js +4 -4
- package/lib/storage/utils.js +7 -11
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/lib/utils/WordArray.d.ts +7 -0
- package/lib/utils/WordArray.js +49 -0
- package/lib/utils/amplifyUrl/index.js +2 -2
- package/lib/utils/amplifyUrl/polyfill.native.js +1 -1
- package/lib/utils/amplifyUuid/index.d.ts +1 -1
- package/lib/utils/amplifyUuid/index.js +2 -2
- package/lib/utils/amplifyUuid/polyfill.native.js +1 -1
- package/lib/utils/convert/base64/base64Decoder.js +2 -2
- package/lib/utils/convert/base64/base64Encoder.js +5 -6
- package/lib/utils/convert/base64/bytesToString.js +1 -1
- package/lib/utils/cryptoSecureRandomInt.d.ts +1 -0
- package/lib/utils/cryptoSecureRandomInt.js +16 -0
- package/lib/utils/deepFreeze.js +6 -28
- package/lib/utils/generateRandomString.js +4 -4
- package/lib/utils/getClientInfo/getClientInfo.android.js +7 -7
- package/lib/utils/getClientInfo/getClientInfo.ios.js +12 -12
- package/lib/utils/getClientInfo/getClientInfo.js +16 -16
- package/lib/utils/globalHelpers/index.js +4 -4
- package/lib/utils/globalHelpers/index.native.js +6 -6
- package/lib/utils/isBrowser.js +1 -3
- package/lib/utils/isWebWorker.js +2 -2
- package/lib/utils/retry/NonRetryableError.js +5 -23
- package/lib/utils/retry/isNonRetryableError.js +2 -2
- package/lib/utils/retry/jitteredBackoff.js +6 -7
- package/lib/utils/retry/jitteredExponentialRetry.js +4 -7
- package/lib/utils/retry/retry.js +50 -140
- package/lib/utils/sessionListener/SessionListener.js +17 -19
- package/lib/utils/sessionListener/SessionListener.native.js +18 -22
- package/lib/utils/sessionListener/constants.d.ts +2 -0
- package/lib/utils/sessionListener/constants.js +8 -0
- package/lib/utils/sessionListener/index.d.ts +1 -0
- package/lib/utils/sessionListener/index.js +5 -2
- package/lib/utils/urlSafeDecode.js +2 -2
- package/lib/utils/urlSafeEncode.js +1 -1
- package/lib-esm/BackgroundProcessManager/BackgroundManagerNotOpenError.js +4 -22
- package/lib-esm/BackgroundProcessManager/BackgroundProcessManager.js +124 -244
- package/lib-esm/Cache/StorageCache.js +26 -87
- package/lib-esm/Cache/StorageCache.native.js +33 -136
- package/lib-esm/Cache/StorageCacheCommon.js +267 -597
- package/lib-esm/Cache/constants.js +2 -2
- package/lib-esm/Cache/index.js +1 -1
- package/lib-esm/Cache/utils/CacheList.js +41 -66
- package/lib-esm/Cache/utils/cacheHelpers.js +5 -7
- package/lib-esm/Cache/utils/errorHelpers.js +6 -7
- package/lib-esm/Hub/index.js +34 -75
- package/lib-esm/I18n/I18n.js +23 -39
- package/lib-esm/I18n/errorHelpers.js +4 -5
- package/lib-esm/I18n/index.js +21 -25
- package/lib-esm/I18n/types.js +3 -5
- package/lib-esm/Logger/ConsoleLogger.js +52 -128
- package/lib-esm/Mutex/Mutex.js +15 -20
- package/lib-esm/Platform/customUserAgent.js +13 -26
- package/lib-esm/Platform/detectFramework.js +11 -12
- package/lib-esm/Platform/detection/Angular.js +3 -4
- package/lib-esm/Platform/detection/React.js +4 -4
- package/lib-esm/Platform/detection/Svelte.js +1 -1
- package/lib-esm/Platform/detection/helpers.js +7 -7
- package/lib-esm/Platform/detection/index.js +3 -3
- package/lib-esm/Platform/index.js +23 -52
- package/lib-esm/Platform/types.d.ts +1 -1
- package/lib-esm/Platform/types.js +1 -1
- package/lib-esm/Platform/version.d.ts +1 -1
- package/lib-esm/Platform/version.js +1 -1
- package/lib-esm/Reachability/Reachability.js +18 -46
- package/lib-esm/Reachability/Reachability.native.js +10 -15
- package/lib-esm/ServiceWorker/ServiceWorker.js +74 -131
- package/lib-esm/ServiceWorker/errorHelpers.js +6 -7
- package/lib-esm/Signer/DateUtils.d.ts +9 -0
- package/lib-esm/Signer/DateUtils.js +20 -29
- package/lib-esm/Signer/Signer.d.ts +9 -0
- package/lib-esm/Signer/Signer.js +54 -51
- package/lib-esm/adapterCore/error/AmplifyServerContextError.js +8 -27
- package/lib-esm/adapterCore/serverContext/serverContext.js +6 -6
- package/lib-esm/adapterCore/serverContext/serverContextRegistry.js +7 -7
- package/lib-esm/awsClients/cognitoIdentity/base.js +21 -69
- package/lib-esm/awsClients/cognitoIdentity/getCredentialsForIdentity.js +22 -66
- package/lib-esm/awsClients/cognitoIdentity/getId.js +17 -60
- package/lib-esm/awsClients/pinpoint/base.js +8 -11
- package/lib-esm/awsClients/pinpoint/errorHelpers.js +4 -5
- package/lib-esm/awsClients/pinpoint/getInAppMessages.js +19 -63
- package/lib-esm/awsClients/pinpoint/putEvents.js +20 -64
- package/lib-esm/awsClients/pinpoint/updateEndpoint.js +23 -67
- package/lib-esm/clients/endpoints/getDnsSuffix.js +6 -28
- package/lib-esm/clients/endpoints/partitions.js +2 -2
- package/lib-esm/clients/handlers/authenticated.js +1 -1
- package/lib-esm/clients/handlers/fetch.js +40 -97
- package/lib-esm/clients/handlers/unauthenticated.js +1 -1
- package/lib-esm/clients/internal/composeServiceApi.js +17 -67
- package/lib-esm/clients/internal/composeTransferHandler.js +9 -11
- package/lib-esm/clients/middleware/retry/defaultRetryDecider.js +17 -74
- package/lib-esm/clients/middleware/retry/isClockSkewError.js +2 -4
- package/lib-esm/clients/middleware/retry/jitteredBackoff.js +4 -4
- package/lib-esm/clients/middleware/retry/middleware.js +61 -125
- package/lib-esm/clients/middleware/signing/middleware.js +21 -83
- package/lib-esm/clients/middleware/signing/signer/signatureV4/constants.js +17 -17
- package/lib-esm/clients/middleware/signing/signer/signatureV4/index.js +0 -1
- package/lib-esm/clients/middleware/signing/signer/signatureV4/presignUrl.js +17 -52
- package/lib-esm/clients/middleware/signing/signer/signatureV4/signRequest.js +10 -21
- package/lib-esm/clients/middleware/signing/signer/signatureV4/utils/dataHashHelpers.js +5 -5
- package/lib-esm/clients/middleware/signing/signer/signatureV4/utils/getCanonicalHeaders.js +8 -30
- package/lib-esm/clients/middleware/signing/signer/signatureV4/utils/getCanonicalQueryString.js +11 -38
- package/lib-esm/clients/middleware/signing/signer/signatureV4/utils/getCanonicalRequest.js +8 -12
- package/lib-esm/clients/middleware/signing/signer/signatureV4/utils/getCanonicalUri.js +5 -8
- package/lib-esm/clients/middleware/signing/signer/signatureV4/utils/getCredentialScope.js +1 -1
- package/lib-esm/clients/middleware/signing/signer/signatureV4/utils/getFormattedDates.js +3 -3
- package/lib-esm/clients/middleware/signing/signer/signatureV4/utils/getHashedPayload.js +5 -9
- package/lib-esm/clients/middleware/signing/signer/signatureV4/utils/getSignature.js +5 -6
- package/lib-esm/clients/middleware/signing/signer/signatureV4/utils/getSignedHeaders.js +4 -6
- package/lib-esm/clients/middleware/signing/signer/signatureV4/utils/getSigningKey.js +6 -6
- package/lib-esm/clients/middleware/signing/signer/signatureV4/utils/getSigningValues.js +13 -14
- package/lib-esm/clients/middleware/signing/signer/signatureV4/utils/getStringToSign.js +1 -3
- package/lib-esm/clients/middleware/signing/utils/extendedEncodeURIComponent.js +3 -5
- package/lib-esm/clients/middleware/signing/utils/getSkewCorrectedDate.js +1 -3
- package/lib-esm/clients/middleware/signing/utils/getUpdatedSystemClockOffset.js +1 -1
- package/lib-esm/clients/middleware/signing/utils/isClockSkewed.js +3 -5
- package/lib-esm/clients/middleware/userAgent/middleware.js +14 -63
- package/lib-esm/clients/serde/json.js +29 -95
- package/lib-esm/clients/serde/responseInfo.js +11 -17
- package/lib-esm/clients/utils/memoization.js +3 -3
- package/lib-esm/constants.js +5 -5
- package/lib-esm/errors/AmplifyError.js +9 -29
- package/lib-esm/errors/PlatformNotSupportedError.js +5 -23
- package/lib-esm/errors/createAssertionFunction.js +11 -14
- package/lib-esm/errors/errorHelpers.js +6 -7
- package/lib-esm/index.d.ts +1 -1
- package/lib-esm/libraryUtils.d.ts +4 -0
- package/lib-esm/libraryUtils.js +4 -0
- package/lib-esm/parseAWSExports.js +108 -99
- package/lib-esm/providers/kinesis/types/kinesis.d.ts +1 -1
- package/lib-esm/providers/kinesis-firehose/types/kinesis-firehose.d.ts +1 -1
- package/lib-esm/providers/personalize/types/personalize.d.ts +1 -1
- package/lib-esm/providers/pinpoint/apis/flushEvents.js +6 -6
- package/lib-esm/providers/pinpoint/apis/record.js +54 -89
- package/lib-esm/providers/pinpoint/apis/updateEndpoint.js +61 -108
- package/lib-esm/providers/pinpoint/types/pinpoint.d.ts +3 -1
- package/lib-esm/providers/pinpoint/utils/PinpointEventBuffer.js +102 -194
- package/lib-esm/providers/pinpoint/utils/cacheEndpointId.js +10 -47
- package/lib-esm/providers/pinpoint/utils/constants.js +4 -4
- package/lib-esm/providers/pinpoint/utils/getCacheKey.js +2 -2
- package/lib-esm/providers/pinpoint/utils/getEndpointId.js +5 -49
- package/lib-esm/providers/pinpoint/utils/getEventBuffer.js +17 -19
- package/lib-esm/providers/pinpoint/utils/isAppInForeground.js +1 -1
- package/lib-esm/providers/pinpoint/utils/isAppInForeground.native.js +1 -1
- package/lib-esm/providers/pinpoint/utils/resolveEndpointId.js +16 -67
- package/lib-esm/singleton/Amplify.d.ts +4 -0
- package/lib-esm/singleton/Amplify.js +18 -101
- package/lib-esm/singleton/Analytics/types.d.ts +5 -1
- package/lib-esm/singleton/Auth/index.js +48 -116
- package/lib-esm/singleton/Auth/types.d.ts +2 -2
- package/lib-esm/singleton/Auth/utils/errorHelpers.js +7 -8
- package/lib-esm/singleton/Auth/utils/index.js +16 -17
- package/lib-esm/singleton/Predictions/types.d.ts +49 -0
- package/lib-esm/singleton/Predictions/types.js +3 -0
- package/lib-esm/singleton/apis/fetchAuthSession.js +1 -1
- package/lib-esm/singleton/apis/internal/fetchAuthSession.js +1 -1
- package/lib-esm/singleton/apis/server/fetchAuthSession.js +1 -1
- package/lib-esm/singleton/types.d.ts +3 -1
- package/lib-esm/storage/CookieStorage.js +28 -99
- package/lib-esm/storage/CookieStorage.native.js +4 -22
- package/lib-esm/storage/DefaultStorage.js +4 -22
- package/lib-esm/storage/DefaultStorage.native.js +17 -64
- package/lib-esm/storage/InMemoryStorage.js +17 -24
- package/lib-esm/storage/KeyValueStorage.js +23 -80
- package/lib-esm/storage/SessionStorage.js +4 -22
- package/lib-esm/storage/index.js +3 -3
- package/lib-esm/storage/utils.js +6 -10
- package/lib-esm/tsconfig.tsbuildinfo +1 -1
- package/lib-esm/utils/WordArray.d.ts +7 -0
- package/lib-esm/utils/WordArray.js +46 -0
- package/lib-esm/utils/amplifyUrl/index.js +2 -2
- package/lib-esm/utils/amplifyUuid/index.d.ts +1 -1
- package/lib-esm/utils/amplifyUuid/index.js +1 -1
- package/lib-esm/utils/convert/base64/base64Decoder.js +2 -2
- package/lib-esm/utils/convert/base64/base64Encoder.js +4 -5
- package/lib-esm/utils/convert/base64/bytesToString.js +1 -1
- package/lib-esm/utils/cryptoSecureRandomInt.d.ts +1 -0
- package/lib-esm/utils/cryptoSecureRandomInt.js +12 -0
- package/lib-esm/utils/deepFreeze.js +6 -28
- package/lib-esm/utils/generateRandomString.js +4 -4
- package/lib-esm/utils/getClientInfo/getClientInfo.android.js +5 -5
- package/lib-esm/utils/getClientInfo/getClientInfo.ios.js +10 -10
- package/lib-esm/utils/getClientInfo/getClientInfo.js +15 -15
- package/lib-esm/utils/globalHelpers/index.js +3 -3
- package/lib-esm/utils/globalHelpers/index.native.js +4 -4
- package/lib-esm/utils/isBrowser.js +1 -3
- package/lib-esm/utils/isWebWorker.js +2 -2
- package/lib-esm/utils/retry/NonRetryableError.js +5 -24
- package/lib-esm/utils/retry/constants.js +1 -1
- package/lib-esm/utils/retry/isNonRetryableError.js +2 -2
- package/lib-esm/utils/retry/jitteredBackoff.js +5 -6
- package/lib-esm/utils/retry/jitteredExponentialRetry.js +1 -4
- package/lib-esm/utils/retry/retry.js +48 -138
- package/lib-esm/utils/sessionListener/SessionListener.js +16 -19
- package/lib-esm/utils/sessionListener/SessionListener.native.js +17 -22
- package/lib-esm/utils/sessionListener/constants.d.ts +2 -0
- package/lib-esm/utils/sessionListener/constants.js +5 -0
- package/lib-esm/utils/sessionListener/index.d.ts +1 -0
- package/lib-esm/utils/sessionListener/index.js +2 -1
- package/lib-esm/utils/urlSafeDecode.js +2 -2
- package/lib-esm/utils/urlSafeEncode.js +1 -1
- package/package.json +11 -24
- package/src/Cache/types/index.ts +4 -4
- package/src/Platform/types.ts +1 -1
- package/src/Platform/version.ts +1 -1
- package/src/Signer/DateUtils.ts +10 -2
- package/src/Signer/Signer.ts +9 -2
- package/src/clients/middleware/signing/signer/signatureV4/index.ts +0 -1
- package/src/index.ts +1 -0
- package/src/libraryUtils.ts +7 -1
- package/src/parseAWSExports.ts +45 -6
- package/src/providers/kinesis/types/kinesis.ts +1 -1
- package/src/providers/kinesis-firehose/types/kinesis-firehose.ts +1 -1
- package/src/providers/personalize/types/personalize.ts +1 -1
- package/src/providers/pinpoint/apis/record.ts +22 -5
- package/src/providers/pinpoint/types/pinpoint.ts +3 -1
- package/src/singleton/Amplify.ts +9 -52
- package/src/singleton/Analytics/types.ts +9 -4
- package/src/singleton/Auth/types.ts +2 -2
- package/src/singleton/Predictions/types.ts +61 -0
- package/src/singleton/types.ts +3 -1
- package/src/utils/WordArray.ts +57 -0
- package/src/utils/amplifyUuid/index.ts +1 -1
- package/src/utils/cryptoSecureRandomInt.ts +14 -0
- package/src/utils/sessionListener/constants.ts +6 -0
- package/src/utils/sessionListener/index.ts +1 -0
|
@@ -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
|
-
|
|
5
|
-
|
|
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: (
|
|
2
|
+
declare const amplifyUuid: () => string;
|
|
3
3
|
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
|
|
5
|
-
convert
|
|
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
|
|
6
|
-
convert
|
|
7
|
-
|
|
8
|
-
|
|
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,
|
|
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
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
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
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
for (
|
|
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
|
-
|
|
7
|
-
export
|
|
8
|
-
|
|
6
|
+
const logger = new Logger('DeviceInfo');
|
|
7
|
+
export const getClientInfo = () => {
|
|
8
|
+
const dim = Dimensions.get('screen');
|
|
9
9
|
logger.debug(Platform, dim);
|
|
10
|
-
|
|
11
|
-
|
|
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
|
-
|
|
7
|
-
export
|
|
8
|
-
|
|
6
|
+
const logger = new Logger('DeviceInfo');
|
|
7
|
+
export const getClientInfo = () => {
|
|
8
|
+
const dim = Dimensions.get('screen');
|
|
9
9
|
logger.debug(Platform, dim);
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
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
|
|
18
|
-
model
|
|
17
|
+
make,
|
|
18
|
+
model,
|
|
19
19
|
};
|
|
20
20
|
};
|
|
21
21
|
function dimToMake(dim) {
|
|
22
|
-
|
|
22
|
+
let { height, width } = dim;
|
|
23
23
|
if (height < width) {
|
|
24
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
22
|
-
|
|
23
|
-
|
|
21
|
+
const { platform, product, vendor, userAgent, language } = nav;
|
|
22
|
+
const type = getBrowserType(userAgent);
|
|
23
|
+
const timezone = browserTimezone();
|
|
24
24
|
return {
|
|
25
|
-
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
|
|
31
|
-
timezone
|
|
30
|
+
language,
|
|
31
|
+
timezone,
|
|
32
32
|
};
|
|
33
33
|
}
|
|
34
34
|
function browserTimezone() {
|
|
35
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
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
|
|
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
|
|
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
|
-
|
|
7
|
-
export
|
|
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
|
|
17
|
+
export const getBtoa = () => {
|
|
18
18
|
return encode;
|
|
19
19
|
};
|
|
20
|
-
export
|
|
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
|
|
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
|
|
3
|
+
export const isWebWorker = () => {
|
|
4
4
|
if (typeof self === 'undefined') {
|
|
5
5
|
return false;
|
|
6
6
|
}
|
|
7
|
-
|
|
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
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
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
|
-
|
|
26
|
-
}(Error));
|
|
27
|
-
export { NonRetryableError };
|
|
8
|
+
}
|
|
@@ -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
|
|
4
|
-
|
|
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
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
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
|
|
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);
|