@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
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
2
2
|
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
-
export
|
|
3
|
+
export const globalExists = () => {
|
|
4
4
|
return typeof global !== 'undefined';
|
|
5
5
|
};
|
|
6
|
-
export
|
|
6
|
+
export const globalThisExists = () => {
|
|
7
7
|
return typeof globalThis !== 'undefined';
|
|
8
8
|
};
|
|
9
|
-
export
|
|
9
|
+
export const windowExists = () => {
|
|
10
10
|
return typeof window !== 'undefined';
|
|
11
11
|
};
|
|
12
|
-
export
|
|
12
|
+
export const documentExists = () => {
|
|
13
13
|
return typeof document !== 'undefined';
|
|
14
14
|
};
|
|
15
|
-
export
|
|
15
|
+
export const processExists = () => {
|
|
16
16
|
return typeof process !== 'undefined';
|
|
17
17
|
};
|
|
18
|
-
export
|
|
19
|
-
return !!Object.keys(object).find(
|
|
18
|
+
export const keyPrefixMatch = (object, prefix) => {
|
|
19
|
+
return !!Object.keys(object).find(key => key.startsWith(prefix));
|
|
20
20
|
};
|
|
@@ -11,7 +11,7 @@ import { reactNativeDetect } from './ReactNative';
|
|
|
11
11
|
import { expoDetect } from './Expo';
|
|
12
12
|
import { webDetect } from './Web';
|
|
13
13
|
// These are in the order of detection where when both are detectable, the early Framework will be reported
|
|
14
|
-
|
|
14
|
+
const detectionMap = [
|
|
15
15
|
// First, detect mobile
|
|
16
16
|
{ platform: Framework.Expo, detectionMethod: expoDetect },
|
|
17
17
|
{ platform: Framework.ReactNative, detectionMethod: reactNativeDetect },
|
|
@@ -32,6 +32,6 @@ var detectionMap = [
|
|
|
32
32
|
{ platform: Framework.SvelteSSR, detectionMethod: svelteSSRDetect },
|
|
33
33
|
];
|
|
34
34
|
export function detect() {
|
|
35
|
-
|
|
36
|
-
|
|
35
|
+
return (detectionMap.find(detectionEntry => detectionEntry.detectionMethod())
|
|
36
|
+
?.platform || Framework.ServerSideUnknown);
|
|
37
37
|
}
|
|
@@ -1,75 +1,46 @@
|
|
|
1
1
|
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
2
2
|
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
-
var __read = (this && this.__read) || function (o, n) {
|
|
4
|
-
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
5
|
-
if (!m) return o;
|
|
6
|
-
var i = m.call(o), r, ar = [], e;
|
|
7
|
-
try {
|
|
8
|
-
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
9
|
-
}
|
|
10
|
-
catch (error) { e = { error: error }; }
|
|
11
|
-
finally {
|
|
12
|
-
try {
|
|
13
|
-
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
14
|
-
}
|
|
15
|
-
finally { if (e) throw e.error; }
|
|
16
|
-
}
|
|
17
|
-
return ar;
|
|
18
|
-
};
|
|
19
3
|
import { Framework } from './types';
|
|
20
4
|
import { version } from './version';
|
|
21
5
|
import { detectFramework, observeFrameworkChanges } from './detectFramework';
|
|
22
6
|
import { getCustomUserAgent } from './customUserAgent';
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
this.userAgent =
|
|
7
|
+
const BASE_USER_AGENT = `aws-amplify`;
|
|
8
|
+
class PlatformBuilder {
|
|
9
|
+
constructor() {
|
|
10
|
+
this.userAgent = `${BASE_USER_AGENT}/${version}`;
|
|
27
11
|
}
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
get: function () {
|
|
37
|
-
return (this.framework === Framework.ReactNative ||
|
|
38
|
-
this.framework === Framework.Expo);
|
|
39
|
-
},
|
|
40
|
-
enumerable: false,
|
|
41
|
-
configurable: true
|
|
42
|
-
});
|
|
43
|
-
PlatformBuilder.prototype.observeFrameworkChanges = function (fcn) {
|
|
12
|
+
get framework() {
|
|
13
|
+
return detectFramework();
|
|
14
|
+
}
|
|
15
|
+
get isReactNative() {
|
|
16
|
+
return (this.framework === Framework.ReactNative ||
|
|
17
|
+
this.framework === Framework.Expo);
|
|
18
|
+
}
|
|
19
|
+
observeFrameworkChanges(fcn) {
|
|
44
20
|
observeFrameworkChanges(fcn);
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
export
|
|
49
|
-
|
|
50
|
-
var _b = _a === void 0 ? {} : _a, category = _b.category, action = _b.action, framework = _b.framework;
|
|
51
|
-
var userAgent = [[BASE_USER_AGENT, version]];
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
export const Platform = new PlatformBuilder();
|
|
24
|
+
export const getAmplifyUserAgentObject = ({ category, action, framework, } = {}) => {
|
|
25
|
+
const userAgent = [[BASE_USER_AGENT, version]];
|
|
52
26
|
if (category) {
|
|
53
27
|
userAgent.push([category, action]);
|
|
54
28
|
}
|
|
55
29
|
userAgent.push(['framework', detectFramework()]);
|
|
56
30
|
if (category && action) {
|
|
57
|
-
|
|
31
|
+
const customState = getCustomUserAgent(category, action);
|
|
58
32
|
if (customState) {
|
|
59
|
-
customState.forEach(
|
|
33
|
+
customState.forEach(state => {
|
|
60
34
|
userAgent.push(state);
|
|
61
35
|
});
|
|
62
36
|
}
|
|
63
37
|
}
|
|
64
38
|
return userAgent;
|
|
65
39
|
};
|
|
66
|
-
export
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
.map(
|
|
70
|
-
var _b = __read(_a, 2), agentKey = _b[0], agentValue = _b[1];
|
|
71
|
-
return agentKey && agentValue ? "".concat(agentKey, "/").concat(agentValue) : agentKey;
|
|
72
|
-
})
|
|
40
|
+
export const getAmplifyUserAgent = (customUserAgentDetails) => {
|
|
41
|
+
const userAgent = getAmplifyUserAgentObject(customUserAgentDetails);
|
|
42
|
+
const userAgentString = userAgent
|
|
43
|
+
.map(([agentKey, agentValue]) => agentKey && agentValue ? `${agentKey}/${agentValue}` : agentKey)
|
|
73
44
|
.join(' ');
|
|
74
45
|
return userAgentString;
|
|
75
46
|
};
|
|
@@ -98,7 +98,7 @@ export var InAppMessagingAction;
|
|
|
98
98
|
(function (InAppMessagingAction) {
|
|
99
99
|
InAppMessagingAction["SyncMessages"] = "1";
|
|
100
100
|
InAppMessagingAction["IdentifyUser"] = "2";
|
|
101
|
-
InAppMessagingAction["
|
|
101
|
+
InAppMessagingAction["NotifyMessageInteraction"] = "3";
|
|
102
102
|
})(InAppMessagingAction || (InAppMessagingAction = {}));
|
|
103
103
|
export var InteractionsAction;
|
|
104
104
|
(function (InteractionsAction) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const version = "6.0.1-api-v6-models.
|
|
1
|
+
export declare const version = "6.0.1-api-v6-models.58f2536.0+58f2536";
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
// generated by genversion
|
|
2
|
-
export
|
|
2
|
+
export const version = '6.0.1-api-v6-models.58f2536.0+58f2536';
|
|
@@ -1,67 +1,39 @@
|
|
|
1
1
|
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
2
2
|
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
-
var __values = (this && this.__values) || function(o) {
|
|
4
|
-
var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
|
|
5
|
-
if (m) return m.call(o);
|
|
6
|
-
if (o && typeof o.length === "number") return {
|
|
7
|
-
next: function () {
|
|
8
|
-
if (o && i >= o.length) o = void 0;
|
|
9
|
-
return { value: o && o[i++], done: !o };
|
|
10
|
-
}
|
|
11
|
-
};
|
|
12
|
-
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
|
|
13
|
-
};
|
|
14
3
|
import { Observable, from } from 'rxjs';
|
|
15
4
|
import { isWebWorker } from '../libraryUtils';
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
Reachability.prototype.networkMonitor = function (_) {
|
|
20
|
-
var globalObj = isWebWorker()
|
|
5
|
+
class Reachability {
|
|
6
|
+
networkMonitor(_) {
|
|
7
|
+
const globalObj = isWebWorker()
|
|
21
8
|
? self
|
|
22
9
|
: typeof window !== 'undefined' && window;
|
|
23
10
|
if (!globalObj) {
|
|
24
11
|
return from([{ online: true }]);
|
|
25
12
|
}
|
|
26
|
-
return new Observable(
|
|
13
|
+
return new Observable(observer => {
|
|
27
14
|
observer.next({ online: globalObj.navigator.onLine });
|
|
28
|
-
|
|
29
|
-
|
|
15
|
+
const notifyOnline = () => observer.next({ online: true });
|
|
16
|
+
const notifyOffline = () => observer.next({ online: false });
|
|
30
17
|
globalObj.addEventListener('online', notifyOnline);
|
|
31
18
|
globalObj.addEventListener('offline', notifyOffline);
|
|
32
19
|
Reachability._observers.push(observer);
|
|
33
|
-
return
|
|
20
|
+
return () => {
|
|
34
21
|
globalObj.removeEventListener('online', notifyOnline);
|
|
35
22
|
globalObj.removeEventListener('offline', notifyOffline);
|
|
36
|
-
Reachability._observers = Reachability._observers.filter(
|
|
23
|
+
Reachability._observers = Reachability._observers.filter(_observer => _observer !== observer);
|
|
37
24
|
};
|
|
38
25
|
});
|
|
39
|
-
}
|
|
26
|
+
}
|
|
40
27
|
// expose observers to simulate offline mode for integration testing
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
var _loop_1 = function (observer) {
|
|
28
|
+
static _observerOverride(status) {
|
|
29
|
+
for (const observer of this._observers) {
|
|
44
30
|
if (observer.closed) {
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
}
|
|
48
|
-
(observer === null || observer === void 0 ? void 0 : observer.next) && observer.next(status);
|
|
49
|
-
};
|
|
50
|
-
var this_1 = this;
|
|
51
|
-
try {
|
|
52
|
-
for (var _b = __values(this._observers), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
53
|
-
var observer = _c.value;
|
|
54
|
-
_loop_1(observer);
|
|
31
|
+
this._observers = this._observers.filter(_observer => _observer !== observer);
|
|
32
|
+
continue;
|
|
55
33
|
}
|
|
34
|
+
observer?.next && observer.next(status);
|
|
56
35
|
}
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
}
|
|
62
|
-
finally { if (e_1) throw e_1.error; }
|
|
63
|
-
}
|
|
64
|
-
};
|
|
65
|
-
Reachability._observers = [];
|
|
66
|
-
return Reachability;
|
|
67
|
-
}());
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
Reachability._observers = [];
|
|
39
|
+
export { Reachability };
|
|
@@ -2,11 +2,9 @@
|
|
|
2
2
|
// SPDX-License-Identifier: Apache-2.0
|
|
3
3
|
import { Observable } from 'rxjs';
|
|
4
4
|
import { ConsoleLogger as Logger } from '../Logger';
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
}
|
|
9
|
-
Reachability.prototype.networkMonitor = function (netInfo) {
|
|
5
|
+
const logger = new Logger('Reachability', 'DEBUG');
|
|
6
|
+
export class Reachability {
|
|
7
|
+
networkMonitor(netInfo) {
|
|
10
8
|
/**
|
|
11
9
|
* Here netinfo refers to @react-native-community/netinfo
|
|
12
10
|
* This is needed in React Native to enable network detection
|
|
@@ -17,23 +15,20 @@ var Reachability = /** @class */ (function () {
|
|
|
17
15
|
if (!(netInfo && netInfo.addEventListener)) {
|
|
18
16
|
throw new Error('NetInfo must be passed to networkMonitor to enable reachability in React Native');
|
|
19
17
|
}
|
|
20
|
-
return new Observable(
|
|
18
|
+
return new Observable(observer => {
|
|
21
19
|
logger.log('subscribing to reachability in React Native');
|
|
22
|
-
|
|
23
|
-
var isInternetReachable = _a.isInternetReachable;
|
|
20
|
+
const unsubscribe = netInfo.addEventListener(({ isInternetReachable }) => {
|
|
24
21
|
// `isInternetReachable` can sometimes be `null` initially, so we want
|
|
25
22
|
// to make sure it is a boolean first before sending it to the observer.
|
|
26
23
|
if (typeof isInternetReachable === 'boolean') {
|
|
27
|
-
|
|
24
|
+
const online = isInternetReachable;
|
|
28
25
|
logger.log('Notifying reachability change', online);
|
|
29
|
-
observer.next({ online
|
|
26
|
+
observer.next({ online });
|
|
30
27
|
}
|
|
31
28
|
});
|
|
32
|
-
return
|
|
29
|
+
return () => {
|
|
33
30
|
unsubscribe();
|
|
34
31
|
};
|
|
35
32
|
});
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
}());
|
|
39
|
-
export { Reachability };
|
|
33
|
+
}
|
|
34
|
+
}
|
|
@@ -1,41 +1,5 @@
|
|
|
1
1
|
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
2
2
|
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
4
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
5
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
6
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
7
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
8
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
9
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
10
|
-
});
|
|
11
|
-
};
|
|
12
|
-
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
13
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
14
|
-
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
15
|
-
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
16
|
-
function step(op) {
|
|
17
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
18
|
-
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
19
|
-
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
20
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
21
|
-
switch (op[0]) {
|
|
22
|
-
case 0: case 1: t = op; break;
|
|
23
|
-
case 4: _.label++; return { value: op[1], done: false };
|
|
24
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
25
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
26
|
-
default:
|
|
27
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
28
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
29
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
30
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
31
|
-
if (t[2]) _.ops.pop();
|
|
32
|
-
_.trys.pop(); continue;
|
|
33
|
-
}
|
|
34
|
-
op = body.call(thisArg, _);
|
|
35
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
36
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
37
|
-
}
|
|
38
|
-
};
|
|
39
3
|
import { ConsoleLogger as Logger } from '../Logger';
|
|
40
4
|
import { isBrowser } from '../utils';
|
|
41
5
|
import { AmplifyError } from '../errors';
|
|
@@ -54,22 +18,18 @@ import { Amplify, fetchAuthSession } from '../singleton';
|
|
|
54
18
|
* and attempt to dispatch messages on state change and record analytics
|
|
55
19
|
* events based on the service worker lifecycle.
|
|
56
20
|
*/
|
|
57
|
-
|
|
58
|
-
|
|
21
|
+
export class ServiceWorkerClass {
|
|
22
|
+
constructor() {
|
|
59
23
|
// The AWS Amplify logger
|
|
60
24
|
this._logger = new Logger('ServiceWorker');
|
|
61
25
|
}
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
},
|
|
70
|
-
enumerable: false,
|
|
71
|
-
configurable: true
|
|
72
|
-
});
|
|
26
|
+
/**
|
|
27
|
+
* Get the currently active service worker
|
|
28
|
+
*/
|
|
29
|
+
get serviceWorker() {
|
|
30
|
+
assert(this._serviceWorker !== undefined, ServiceWorkerErrorCode.UndefinedInstance);
|
|
31
|
+
return this._serviceWorker;
|
|
32
|
+
}
|
|
73
33
|
/**
|
|
74
34
|
* Register the service-worker.js file in the browser
|
|
75
35
|
* Make sure the service-worker.js is part of the build
|
|
@@ -82,35 +42,32 @@ var ServiceWorkerClass = /** @class */ (function () {
|
|
|
82
42
|
* - resolve(ServiceWorkerRegistration)
|
|
83
43
|
* - reject(Error)
|
|
84
44
|
**/
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
this._logger.debug("registering ".concat(filePath));
|
|
90
|
-
this._logger.debug("registering service worker with scope ".concat(scope));
|
|
91
|
-
return new Promise(function (resolve, reject) {
|
|
45
|
+
register(filePath = '/service-worker.js', scope = '/') {
|
|
46
|
+
this._logger.debug(`registering ${filePath}`);
|
|
47
|
+
this._logger.debug(`registering service worker with scope ${scope}`);
|
|
48
|
+
return new Promise((resolve, reject) => {
|
|
92
49
|
if (navigator && 'serviceWorker' in navigator) {
|
|
93
50
|
navigator.serviceWorker
|
|
94
51
|
.register(filePath, {
|
|
95
|
-
scope
|
|
52
|
+
scope,
|
|
96
53
|
})
|
|
97
|
-
.then(
|
|
54
|
+
.then(registration => {
|
|
98
55
|
if (registration.installing) {
|
|
99
|
-
|
|
56
|
+
this._serviceWorker = registration.installing;
|
|
100
57
|
}
|
|
101
58
|
else if (registration.waiting) {
|
|
102
|
-
|
|
59
|
+
this._serviceWorker = registration.waiting;
|
|
103
60
|
}
|
|
104
61
|
else if (registration.active) {
|
|
105
|
-
|
|
62
|
+
this._serviceWorker = registration.active;
|
|
106
63
|
}
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
64
|
+
this._registration = registration;
|
|
65
|
+
this._setupListeners();
|
|
66
|
+
this._logger.debug(`Service Worker Registration Success: ${registration}`);
|
|
110
67
|
return resolve(registration);
|
|
111
68
|
})
|
|
112
|
-
.catch(
|
|
113
|
-
|
|
69
|
+
.catch(error => {
|
|
70
|
+
this._logger.debug(`Service Worker Registration Failed ${error}`);
|
|
114
71
|
return reject(new AmplifyError({
|
|
115
72
|
name: ServiceWorkerErrorCode.Unavailable,
|
|
116
73
|
message: 'Service Worker not available',
|
|
@@ -125,7 +82,7 @@ var ServiceWorkerClass = /** @class */ (function () {
|
|
|
125
82
|
}));
|
|
126
83
|
}
|
|
127
84
|
});
|
|
128
|
-
}
|
|
85
|
+
}
|
|
129
86
|
/**
|
|
130
87
|
* Enable web push notifications. If not subscribed, a new subscription will
|
|
131
88
|
* be created and registered.
|
|
@@ -137,32 +94,31 @@ var ServiceWorkerClass = /** @class */ (function () {
|
|
|
137
94
|
* - resolve(PushSubscription)
|
|
138
95
|
* - reject(Error)
|
|
139
96
|
*/
|
|
140
|
-
|
|
141
|
-
var _this = this;
|
|
97
|
+
enablePush(publicKey) {
|
|
142
98
|
assert(this._registration !== undefined, ServiceWorkerErrorCode.UndefinedRegistration);
|
|
143
99
|
this._publicKey = publicKey;
|
|
144
|
-
return new Promise(
|
|
100
|
+
return new Promise((resolve, reject) => {
|
|
145
101
|
if (isBrowser()) {
|
|
146
|
-
assert(
|
|
147
|
-
|
|
102
|
+
assert(this._registration !== undefined, ServiceWorkerErrorCode.UndefinedRegistration);
|
|
103
|
+
this._registration.pushManager.getSubscription().then(subscription => {
|
|
148
104
|
if (subscription) {
|
|
149
|
-
|
|
150
|
-
|
|
105
|
+
this._subscription = subscription;
|
|
106
|
+
this._logger.debug(`User is subscribed to push: ${JSON.stringify(subscription)}`);
|
|
151
107
|
resolve(subscription);
|
|
152
108
|
}
|
|
153
109
|
else {
|
|
154
|
-
|
|
155
|
-
return
|
|
110
|
+
this._logger.debug(`User is NOT subscribed to push`);
|
|
111
|
+
return this._registration.pushManager.subscribe({
|
|
156
112
|
userVisibleOnly: true,
|
|
157
|
-
applicationServerKey:
|
|
113
|
+
applicationServerKey: this._urlB64ToUint8Array(publicKey),
|
|
158
114
|
})
|
|
159
|
-
.then(
|
|
160
|
-
|
|
161
|
-
|
|
115
|
+
.then(subscription => {
|
|
116
|
+
this._subscription = subscription;
|
|
117
|
+
this._logger.debug(`User subscribed: ${JSON.stringify(subscription)}`);
|
|
162
118
|
resolve(subscription);
|
|
163
119
|
})
|
|
164
|
-
.catch(
|
|
165
|
-
|
|
120
|
+
.catch(error => {
|
|
121
|
+
this._logger.error(error);
|
|
166
122
|
});
|
|
167
123
|
}
|
|
168
124
|
});
|
|
@@ -174,23 +130,23 @@ var ServiceWorkerClass = /** @class */ (function () {
|
|
|
174
130
|
}));
|
|
175
131
|
}
|
|
176
132
|
});
|
|
177
|
-
}
|
|
133
|
+
}
|
|
178
134
|
/**
|
|
179
135
|
* Convert a base64 encoded string to a Uint8 array for the push server key
|
|
180
136
|
* @param base64String
|
|
181
137
|
*/
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
138
|
+
_urlB64ToUint8Array(base64String) {
|
|
139
|
+
const padding = '='.repeat((4 - (base64String.length % 4)) % 4);
|
|
140
|
+
const base64 = (base64String + padding)
|
|
185
141
|
.replace(/\-/g, '+')
|
|
186
142
|
.replace(/_/g, '/');
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
for (
|
|
143
|
+
const rawData = window.atob(base64);
|
|
144
|
+
const outputArray = new Uint8Array(rawData.length);
|
|
145
|
+
for (let i = 0; i < rawData.length; ++i) {
|
|
190
146
|
outputArray[i] = rawData.charCodeAt(i);
|
|
191
147
|
}
|
|
192
148
|
return outputArray;
|
|
193
|
-
}
|
|
149
|
+
}
|
|
194
150
|
/**
|
|
195
151
|
* Send a message to the service worker. The service worker needs
|
|
196
152
|
* to implement `self.addEventListener('message') to handle the
|
|
@@ -199,52 +155,39 @@ var ServiceWorkerClass = /** @class */ (function () {
|
|
|
199
155
|
* - see: https://developer.mozilla.org/en-US/docs/Web/API/Transferable
|
|
200
156
|
* @returns {Promise}
|
|
201
157
|
**/
|
|
202
|
-
|
|
158
|
+
send(message) {
|
|
203
159
|
if (this._serviceWorker) {
|
|
204
160
|
this._serviceWorker.postMessage(typeof message === 'object' ? JSON.stringify(message) : message);
|
|
205
161
|
}
|
|
206
|
-
}
|
|
162
|
+
}
|
|
207
163
|
/**
|
|
208
164
|
* Listen for service worker state change and message events
|
|
209
165
|
* https://developer.mozilla.org/en-US/docs/Web/API/ServiceWorker/state
|
|
210
166
|
**/
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
state: currentState,
|
|
236
|
-
},
|
|
237
|
-
},
|
|
238
|
-
});
|
|
239
|
-
}
|
|
240
|
-
return [2 /*return*/];
|
|
241
|
-
}
|
|
242
|
-
});
|
|
243
|
-
}); });
|
|
244
|
-
this.serviceWorker.addEventListener('message', function (event) {
|
|
245
|
-
_this._logger.debug("ServiceWorker message event: ".concat(event));
|
|
167
|
+
_setupListeners() {
|
|
168
|
+
this.serviceWorker.addEventListener('statechange', async (event) => {
|
|
169
|
+
const currentState = this.serviceWorker.state;
|
|
170
|
+
this._logger.debug(`ServiceWorker statechange: ${currentState}`);
|
|
171
|
+
const { appId, region } = Amplify.getConfig().Analytics?.Pinpoint ?? {};
|
|
172
|
+
const { credentials } = await fetchAuthSession();
|
|
173
|
+
if (appId && region && credentials) {
|
|
174
|
+
// Pinpoint is configured, record an event
|
|
175
|
+
record({
|
|
176
|
+
appId,
|
|
177
|
+
region,
|
|
178
|
+
category: 'Core',
|
|
179
|
+
credentials,
|
|
180
|
+
event: {
|
|
181
|
+
name: 'ServiceWorker',
|
|
182
|
+
attributes: {
|
|
183
|
+
state: currentState,
|
|
184
|
+
},
|
|
185
|
+
},
|
|
186
|
+
});
|
|
187
|
+
}
|
|
188
|
+
});
|
|
189
|
+
this.serviceWorker.addEventListener('message', event => {
|
|
190
|
+
this._logger.debug(`ServiceWorker message event: ${event}`);
|
|
246
191
|
});
|
|
247
|
-
}
|
|
248
|
-
|
|
249
|
-
}());
|
|
250
|
-
export { ServiceWorkerClass };
|
|
192
|
+
}
|
|
193
|
+
}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
2
2
|
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
-
var _a;
|
|
4
3
|
import { createAssertionFunction } from '../errors';
|
|
5
4
|
export var ServiceWorkerErrorCode;
|
|
6
5
|
(function (ServiceWorkerErrorCode) {
|
|
@@ -8,15 +7,15 @@ export var ServiceWorkerErrorCode;
|
|
|
8
7
|
ServiceWorkerErrorCode["UndefinedRegistration"] = "UndefinedRegistration";
|
|
9
8
|
ServiceWorkerErrorCode["Unavailable"] = "Unavailable";
|
|
10
9
|
})(ServiceWorkerErrorCode || (ServiceWorkerErrorCode = {}));
|
|
11
|
-
|
|
12
|
-
|
|
10
|
+
const serviceWorkerErrorMap = {
|
|
11
|
+
[ServiceWorkerErrorCode.UndefinedInstance]: {
|
|
13
12
|
message: 'Service Worker instance is undefined.',
|
|
14
13
|
},
|
|
15
|
-
|
|
14
|
+
[ServiceWorkerErrorCode.UndefinedRegistration]: {
|
|
16
15
|
message: 'Service Worker registration is undefined.',
|
|
17
16
|
},
|
|
18
|
-
|
|
17
|
+
[ServiceWorkerErrorCode.Unavailable]: {
|
|
19
18
|
message: 'Service Worker not available.',
|
|
20
19
|
},
|
|
21
|
-
|
|
22
|
-
export
|
|
20
|
+
};
|
|
21
|
+
export const assert = createAssertionFunction(serviceWorkerErrorMap);
|
|
@@ -14,5 +14,14 @@ type DateUtils = {
|
|
|
14
14
|
isClockSkewError: (error: any) => boolean;
|
|
15
15
|
setClockOffset: (offset: number) => void;
|
|
16
16
|
};
|
|
17
|
+
/**
|
|
18
|
+
* This utility is intended to be deprecated and replaced by `signRequest` and `presignUrl` functions from
|
|
19
|
+
* `clients/middleware/signing/signer/signatureV4`.
|
|
20
|
+
*
|
|
21
|
+
* TODO: refactor the logics here into `signRequest` and `presignUrl` functions and remove this class.
|
|
22
|
+
*
|
|
23
|
+
* @internal
|
|
24
|
+
* @deprecated
|
|
25
|
+
*/
|
|
17
26
|
export declare const DateUtils: DateUtils;
|
|
18
27
|
export {};
|