@aws-amplify/core 6.0.17-unstable.e316a2e.0 → 6.0.17
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/dist/cjs/BackgroundProcessManager/BackgroundProcessManager.js +11 -16
- package/dist/cjs/BackgroundProcessManager/BackgroundProcessManager.js.map +1 -1
- package/dist/cjs/Cache/StorageCacheCommon.js +5 -5
- package/dist/cjs/Cache/StorageCacheCommon.js.map +1 -1
- package/dist/cjs/Cache/utils/CacheList.js +2 -2
- package/dist/cjs/Cache/utils/CacheList.js.map +1 -1
- package/dist/cjs/Hub/index.js +2 -2
- package/dist/cjs/Hub/index.js.map +1 -1
- package/dist/cjs/I18n/I18n.js +8 -13
- package/dist/cjs/I18n/I18n.js.map +1 -1
- package/dist/cjs/I18n/index.js +4 -4
- package/dist/cjs/I18n/index.js.map +1 -1
- package/dist/cjs/Logger/ConsoleLogger.js +7 -7
- package/dist/cjs/Logger/ConsoleLogger.js.map +1 -1
- package/dist/cjs/Mutex/Mutex.js +4 -1
- package/dist/cjs/Mutex/Mutex.js.map +1 -1
- package/dist/cjs/Platform/detectFramework.js +3 -1
- package/dist/cjs/Platform/detectFramework.js.map +1 -1
- package/dist/cjs/Platform/detection/Angular.js +2 -4
- package/dist/cjs/Platform/detection/Angular.js.map +1 -1
- package/dist/cjs/Platform/detection/Expo.js +1 -2
- package/dist/cjs/Platform/detection/Expo.js.map +1 -1
- package/dist/cjs/Platform/detection/Next.js +3 -2
- package/dist/cjs/Platform/detection/Next.js.map +1 -1
- package/dist/cjs/Platform/detection/Nuxt.js +3 -4
- package/dist/cjs/Platform/detection/Nuxt.js.map +1 -1
- package/dist/cjs/Platform/index.js +1 -1
- package/dist/cjs/Platform/index.js.map +1 -1
- package/dist/cjs/Platform/version.js +1 -1
- package/dist/cjs/Platform/version.js.map +1 -1
- package/dist/cjs/Reachability/Reachability.js +6 -2
- package/dist/cjs/Reachability/Reachability.js.map +1 -1
- package/dist/cjs/ServiceWorker/ServiceWorker.js +11 -11
- package/dist/cjs/ServiceWorker/ServiceWorker.js.map +1 -1
- package/dist/cjs/Signer/DateUtils.js +1 -1
- package/dist/cjs/Signer/DateUtils.js.map +1 -1
- package/dist/cjs/Signer/Signer.js +3 -3
- package/dist/cjs/Signer/Signer.js.map +1 -1
- package/dist/cjs/adapterCore/serverContext/serverContext.js +1 -1
- package/dist/cjs/adapterCore/serverContext/serverContext.js.map +1 -1
- package/dist/cjs/awsClients/cognitoIdentity/base.js +2 -2
- package/dist/cjs/awsClients/cognitoIdentity/base.js.map +1 -1
- package/dist/cjs/awsClients/cognitoIdentity/getCredentialsForIdentity.js +1 -1
- package/dist/cjs/awsClients/cognitoIdentity/getCredentialsForIdentity.js.map +1 -1
- package/dist/cjs/awsClients/cognitoIdentity/getId.js +1 -1
- package/dist/cjs/awsClients/cognitoIdentity/getId.js.map +1 -1
- package/dist/cjs/awsClients/pinpoint/getInAppMessages.js +1 -1
- package/dist/cjs/awsClients/pinpoint/getInAppMessages.js.map +1 -1
- package/dist/cjs/awsClients/pinpoint/putEvents.js +1 -1
- package/dist/cjs/awsClients/pinpoint/putEvents.js.map +1 -1
- package/dist/cjs/awsClients/pinpoint/types.js +0 -1
- package/dist/cjs/awsClients/pinpoint/types.js.map +1 -1
- package/dist/cjs/awsClients/pinpoint/updateEndpoint.js +1 -1
- package/dist/cjs/awsClients/pinpoint/updateEndpoint.js.map +1 -1
- package/dist/cjs/clients/handlers/authenticated.js +3 -3
- package/dist/cjs/clients/handlers/authenticated.js.map +1 -1
- package/dist/cjs/clients/handlers/unauthenticated.js +1 -1
- package/dist/cjs/clients/handlers/unauthenticated.js.map +1 -1
- package/dist/cjs/clients/index.js +4 -4
- package/dist/cjs/clients/index.js.map +1 -1
- package/dist/cjs/clients/internal/composeServiceApi.js +1 -1
- package/dist/cjs/clients/internal/composeServiceApi.js.map +1 -1
- package/dist/cjs/clients/internal/composeTransferHandler.js +1 -1
- package/dist/cjs/clients/internal/composeTransferHandler.js.map +1 -1
- package/dist/cjs/clients/middleware/retry/defaultRetryDecider.js +2 -2
- package/dist/cjs/clients/middleware/retry/defaultRetryDecider.js.map +1 -1
- package/dist/cjs/clients/middleware/retry/index.js +2 -2
- package/dist/cjs/clients/middleware/retry/index.js.map +1 -1
- package/dist/cjs/clients/middleware/retry/jitteredBackoff.js +1 -1
- package/dist/cjs/clients/middleware/retry/jitteredBackoff.js.map +1 -1
- package/dist/cjs/clients/middleware/retry/middleware.js +6 -6
- package/dist/cjs/clients/middleware/retry/middleware.js.map +1 -1
- package/dist/cjs/clients/middleware/signing/index.js +2 -2
- package/dist/cjs/clients/middleware/signing/index.js.map +1 -1
- package/dist/cjs/clients/middleware/signing/middleware.js +3 -3
- package/dist/cjs/clients/middleware/signing/middleware.js.map +1 -1
- package/dist/cjs/clients/middleware/signing/signer/signatureV4/presignUrl.js +1 -2
- package/dist/cjs/clients/middleware/signing/signer/signatureV4/presignUrl.js.map +1 -1
- package/dist/cjs/clients/middleware/signing/signer/signatureV4/utils/getFormattedDates.js +1 -1
- package/dist/cjs/clients/middleware/signing/signer/signatureV4/utils/getFormattedDates.js.map +1 -1
- package/dist/cjs/clients/middleware/userAgent/index.js +2 -2
- package/dist/cjs/clients/middleware/userAgent/index.js.map +1 -1
- package/dist/cjs/clients/middleware/userAgent/middleware.js +3 -3
- package/dist/cjs/clients/middleware/userAgent/middleware.js.map +1 -1
- package/dist/cjs/clients/serde/json.js +1 -1
- package/dist/cjs/clients/serde/json.js.map +1 -1
- package/dist/cjs/errors/errorHelpers.js +1 -1
- package/dist/cjs/errors/errorHelpers.js.map +1 -1
- package/dist/cjs/parseAWSExports.js +1 -1
- package/dist/cjs/parseAWSExports.js.map +1 -1
- package/dist/cjs/providers/pinpoint/apis/updateEndpoint.js +1 -1
- package/dist/cjs/providers/pinpoint/apis/updateEndpoint.js.map +1 -1
- package/dist/cjs/providers/pinpoint/utils/PinpointEventBuffer.js +2 -3
- package/dist/cjs/providers/pinpoint/utils/PinpointEventBuffer.js.map +1 -1
- package/dist/cjs/providers/pinpoint/utils/isAppInForeground.native.js +0 -1
- package/dist/cjs/providers/pinpoint/utils/isAppInForeground.native.js.map +1 -1
- package/dist/cjs/singleton/Amplify.js +1 -1
- package/dist/cjs/singleton/Amplify.js.map +1 -1
- package/dist/cjs/singleton/Auth/index.js +2 -6
- package/dist/cjs/singleton/Auth/index.js.map +1 -1
- package/dist/cjs/singleton/Auth/utils/index.js +4 -4
- package/dist/cjs/singleton/Auth/utils/index.js.map +1 -1
- package/dist/cjs/singleton/apis/fetchAuthSession.js +1 -1
- package/dist/cjs/singleton/apis/fetchAuthSession.js.map +1 -1
- package/dist/cjs/storage/CookieStorage.js +8 -4
- package/dist/cjs/storage/CookieStorage.js.map +1 -1
- package/dist/cjs/storage/CookieStorage.native.js +0 -3
- package/dist/cjs/storage/CookieStorage.native.js.map +1 -1
- package/dist/cjs/utils/WordArray.js +2 -2
- package/dist/cjs/utils/WordArray.js.map +1 -1
- package/dist/cjs/utils/deDupeAsyncFunction.js +8 -8
- package/dist/cjs/utils/deDupeAsyncFunction.js.map +1 -1
- package/dist/cjs/utils/getClientInfo/getClientInfo.android.js +2 -3
- package/dist/cjs/utils/getClientInfo/getClientInfo.android.js.map +1 -1
- package/dist/cjs/utils/getClientInfo/getClientInfo.ios.js +2 -3
- package/dist/cjs/utils/getClientInfo/getClientInfo.ios.js.map +1 -1
- package/dist/cjs/utils/queuedStorage/createQueuedStorage.native.js +2 -2
- package/dist/cjs/utils/queuedStorage/createQueuedStorage.native.js.map +1 -1
- package/dist/cjs/utils/retry/NonRetryableError.js +2 -2
- package/dist/cjs/utils/retry/NonRetryableError.js.map +1 -1
- package/dist/cjs/utils/retry/retry.js +15 -6
- package/dist/cjs/utils/retry/retry.js.map +1 -1
- package/dist/esm/BackgroundProcessManager/BackgroundProcessManager.d.ts +2 -8
- package/dist/esm/BackgroundProcessManager/BackgroundProcessManager.mjs +11 -16
- package/dist/esm/BackgroundProcessManager/BackgroundProcessManager.mjs.map +1 -1
- package/dist/esm/BackgroundProcessManager/types.d.ts +3 -3
- package/dist/esm/Cache/StorageCacheCommon.mjs +5 -5
- package/dist/esm/Cache/StorageCacheCommon.mjs.map +1 -1
- package/dist/esm/Cache/types/cache.d.ts +1 -1
- package/dist/esm/Cache/utils/CacheList.mjs +2 -2
- package/dist/esm/Cache/utils/CacheList.mjs.map +1 -1
- package/dist/esm/Hub/index.d.ts +4 -4
- package/dist/esm/Hub/index.mjs +2 -2
- package/dist/esm/Hub/index.mjs.map +1 -1
- package/dist/esm/Hub/types/AuthTypes.d.ts +11 -11
- package/dist/esm/Hub/types/HubTypes.d.ts +8 -8
- package/dist/esm/I18n/I18n.d.ts +0 -6
- package/dist/esm/I18n/I18n.mjs +8 -13
- package/dist/esm/I18n/I18n.mjs.map +1 -1
- package/dist/esm/I18n/index.mjs +4 -4
- package/dist/esm/I18n/index.mjs.map +1 -1
- package/dist/esm/Logger/ConsoleLogger.d.ts +1 -1
- package/dist/esm/Logger/ConsoleLogger.mjs +7 -7
- package/dist/esm/Logger/ConsoleLogger.mjs.map +1 -1
- package/dist/esm/Mutex/Mutex.mjs +4 -1
- package/dist/esm/Mutex/Mutex.mjs.map +1 -1
- package/dist/esm/Mutex/types.d.ts +2 -6
- package/dist/esm/Platform/detectFramework.mjs +3 -1
- package/dist/esm/Platform/detectFramework.mjs.map +1 -1
- package/dist/esm/Platform/detection/Angular.mjs +2 -4
- package/dist/esm/Platform/detection/Angular.mjs.map +1 -1
- package/dist/esm/Platform/detection/Expo.mjs +1 -2
- package/dist/esm/Platform/detection/Expo.mjs.map +1 -1
- package/dist/esm/Platform/detection/Next.mjs +3 -2
- package/dist/esm/Platform/detection/Next.mjs.map +1 -1
- package/dist/esm/Platform/detection/Nuxt.mjs +3 -4
- package/dist/esm/Platform/detection/Nuxt.mjs.map +1 -1
- package/dist/esm/Platform/detection/index.mjs.map +1 -1
- package/dist/esm/Platform/index.d.ts +2 -2
- package/dist/esm/Platform/index.mjs +1 -1
- package/dist/esm/Platform/index.mjs.map +1 -1
- package/dist/esm/Platform/types.d.ts +12 -12
- package/dist/esm/Platform/version.d.ts +1 -1
- package/dist/esm/Platform/version.mjs +1 -1
- package/dist/esm/Platform/version.mjs.map +1 -1
- package/dist/esm/Reachability/Reachability.mjs +6 -2
- package/dist/esm/Reachability/Reachability.mjs.map +1 -1
- package/dist/esm/Reachability/types.d.ts +2 -2
- package/dist/esm/ServiceWorker/ServiceWorker.d.ts +0 -1
- package/dist/esm/ServiceWorker/ServiceWorker.mjs +11 -11
- package/dist/esm/ServiceWorker/ServiceWorker.mjs.map +1 -1
- package/dist/esm/Signer/DateUtils.d.ts +9 -9
- package/dist/esm/Signer/DateUtils.mjs +1 -1
- package/dist/esm/Signer/DateUtils.mjs.map +1 -1
- package/dist/esm/Signer/Signer.mjs +3 -3
- package/dist/esm/Signer/Signer.mjs.map +1 -1
- package/dist/esm/adapterCore/serverContext/serverContext.d.ts +1 -1
- package/dist/esm/adapterCore/serverContext/serverContext.mjs +1 -1
- package/dist/esm/adapterCore/serverContext/serverContext.mjs.map +1 -1
- package/dist/esm/adapterCore/serverContext/types/amplifyServer.d.ts +7 -9
- package/dist/esm/awsClients/cognitoIdentity/base.d.ts +1 -1
- package/dist/esm/awsClients/cognitoIdentity/base.mjs +2 -2
- package/dist/esm/awsClients/cognitoIdentity/base.mjs.map +1 -1
- package/dist/esm/awsClients/cognitoIdentity/getCredentialsForIdentity.d.ts +2 -6
- package/dist/esm/awsClients/cognitoIdentity/getCredentialsForIdentity.mjs +1 -1
- package/dist/esm/awsClients/cognitoIdentity/getCredentialsForIdentity.mjs.map +1 -1
- package/dist/esm/awsClients/cognitoIdentity/getId.d.ts +2 -6
- package/dist/esm/awsClients/cognitoIdentity/getId.mjs +1 -1
- package/dist/esm/awsClients/cognitoIdentity/getId.mjs.map +1 -1
- package/dist/esm/awsClients/cognitoIdentity/types.d.ts +2 -4
- package/dist/esm/awsClients/pinpoint/base.mjs.map +1 -1
- package/dist/esm/awsClients/pinpoint/getInAppMessages.d.ts +1 -1
- package/dist/esm/awsClients/pinpoint/getInAppMessages.mjs +1 -1
- package/dist/esm/awsClients/pinpoint/getInAppMessages.mjs.map +1 -1
- package/dist/esm/awsClients/pinpoint/putEvents.d.ts +1 -1
- package/dist/esm/awsClients/pinpoint/putEvents.mjs +1 -1
- package/dist/esm/awsClients/pinpoint/putEvents.mjs.map +1 -1
- package/dist/esm/awsClients/pinpoint/types.d.ts +3 -6
- package/dist/esm/awsClients/pinpoint/updateEndpoint.d.ts +1 -1
- package/dist/esm/awsClients/pinpoint/updateEndpoint.mjs +1 -1
- package/dist/esm/awsClients/pinpoint/updateEndpoint.mjs.map +1 -1
- package/dist/esm/clients/handlers/authenticated.mjs +6 -6
- package/dist/esm/clients/handlers/authenticated.mjs.map +1 -1
- package/dist/esm/clients/handlers/unauthenticated.mjs +3 -3
- package/dist/esm/clients/handlers/unauthenticated.mjs.map +1 -1
- package/dist/esm/clients/index.d.ts +3 -3
- package/dist/esm/clients/index.mjs +3 -3
- package/dist/esm/clients/internal/composeServiceApi.d.ts +2 -2
- package/dist/esm/clients/internal/composeServiceApi.mjs +1 -1
- package/dist/esm/clients/internal/composeServiceApi.mjs.map +1 -1
- package/dist/esm/clients/internal/composeTransferHandler.d.ts +2 -2
- package/dist/esm/clients/internal/composeTransferHandler.mjs +1 -1
- package/dist/esm/clients/internal/composeTransferHandler.mjs.map +1 -1
- package/dist/esm/clients/middleware/retry/defaultRetryDecider.d.ts +1 -1
- package/dist/esm/clients/middleware/retry/defaultRetryDecider.mjs +2 -2
- package/dist/esm/clients/middleware/retry/defaultRetryDecider.mjs.map +1 -1
- package/dist/esm/clients/middleware/retry/index.d.ts +1 -1
- package/dist/esm/clients/middleware/retry/index.mjs +1 -1
- package/dist/esm/clients/middleware/retry/jitteredBackoff.mjs.map +1 -1
- package/dist/esm/clients/middleware/retry/middleware.d.ts +3 -3
- package/dist/esm/clients/middleware/retry/middleware.mjs +5 -5
- package/dist/esm/clients/middleware/retry/middleware.mjs.map +1 -1
- package/dist/esm/clients/middleware/signing/index.d.ts +1 -1
- package/dist/esm/clients/middleware/signing/index.mjs +1 -1
- package/dist/esm/clients/middleware/signing/middleware.d.ts +1 -1
- package/dist/esm/clients/middleware/signing/middleware.mjs +2 -2
- package/dist/esm/clients/middleware/signing/middleware.mjs.map +1 -1
- package/dist/esm/clients/middleware/signing/signer/signatureV4/presignUrl.d.ts +1 -1
- package/dist/esm/clients/middleware/signing/signer/signatureV4/presignUrl.mjs +1 -2
- package/dist/esm/clients/middleware/signing/signer/signatureV4/presignUrl.mjs.map +1 -1
- package/dist/esm/clients/middleware/signing/signer/signatureV4/utils/getFormattedDates.mjs +1 -1
- package/dist/esm/clients/middleware/signing/signer/signatureV4/utils/getFormattedDates.mjs.map +1 -1
- package/dist/esm/clients/middleware/userAgent/index.d.ts +1 -1
- package/dist/esm/clients/middleware/userAgent/index.mjs +1 -1
- package/dist/esm/clients/middleware/userAgent/middleware.d.ts +1 -1
- package/dist/esm/clients/middleware/userAgent/middleware.mjs +2 -2
- package/dist/esm/clients/middleware/userAgent/middleware.mjs.map +1 -1
- package/dist/esm/clients/serde/json.mjs +1 -1
- package/dist/esm/clients/serde/json.mjs.map +1 -1
- package/dist/esm/clients/types/aws.d.ts +3 -3
- package/dist/esm/clients/types/core.d.ts +3 -5
- package/dist/esm/errors/APIError.d.ts +1 -1
- package/dist/esm/errors/errorHelpers.mjs +1 -1
- package/dist/esm/errors/errorHelpers.mjs.map +1 -1
- package/dist/esm/parseAWSExports.mjs +1 -1
- package/dist/esm/parseAWSExports.mjs.map +1 -1
- package/dist/esm/providers/kinesis/types/kinesis.d.ts +2 -2
- package/dist/esm/providers/kinesis-firehose/types/kinesis-firehose.d.ts +2 -2
- package/dist/esm/providers/personalize/types/personalize.d.ts +2 -2
- package/dist/esm/providers/pinpoint/apis/updateEndpoint.mjs +1 -1
- package/dist/esm/providers/pinpoint/apis/updateEndpoint.mjs.map +1 -1
- package/dist/esm/providers/pinpoint/types/buffer.d.ts +6 -8
- package/dist/esm/providers/pinpoint/types/pinpoint.d.ts +10 -10
- package/dist/esm/providers/pinpoint/utils/PinpointEventBuffer.d.ts +1 -1
- package/dist/esm/providers/pinpoint/utils/PinpointEventBuffer.mjs +2 -3
- package/dist/esm/providers/pinpoint/utils/PinpointEventBuffer.mjs.map +1 -1
- package/dist/esm/providers/pinpoint/utils/getEventBuffer.d.ts +1 -1
- package/dist/esm/providers/pinpoint/utils/isAppInForeground.native.mjs +0 -1
- package/dist/esm/providers/pinpoint/utils/isAppInForeground.native.mjs.map +1 -1
- package/dist/esm/singleton/API/types.d.ts +35 -37
- package/dist/esm/singleton/Amplify.d.ts +1 -1
- package/dist/esm/singleton/Amplify.mjs +1 -1
- package/dist/esm/singleton/Amplify.mjs.map +1 -1
- package/dist/esm/singleton/Auth/index.d.ts +0 -1
- package/dist/esm/singleton/Auth/index.mjs +2 -6
- package/dist/esm/singleton/Auth/index.mjs.map +1 -1
- package/dist/esm/singleton/Auth/types.d.ts +53 -52
- package/dist/esm/singleton/Auth/utils/index.d.ts +1 -1
- package/dist/esm/singleton/Auth/utils/index.mjs +4 -4
- package/dist/esm/singleton/Auth/utils/index.mjs.map +1 -1
- package/dist/esm/singleton/Geo/types.d.ts +3 -3
- package/dist/esm/singleton/Interactions/types.d.ts +4 -4
- package/dist/esm/singleton/Notifications/types.d.ts +5 -5
- package/dist/esm/singleton/Predictions/types.d.ts +28 -28
- package/dist/esm/singleton/Storage/types.d.ts +2 -2
- package/dist/esm/singleton/apis/fetchAuthSession.mjs +1 -1
- package/dist/esm/singleton/apis/fetchAuthSession.mjs.map +1 -1
- package/dist/esm/singleton/types.d.ts +8 -8
- package/dist/esm/storage/CookieStorage.mjs +8 -4
- package/dist/esm/storage/CookieStorage.mjs.map +1 -1
- package/dist/esm/storage/CookieStorage.native.d.ts +0 -1
- package/dist/esm/storage/CookieStorage.native.mjs +0 -3
- package/dist/esm/storage/CookieStorage.native.mjs.map +1 -1
- package/dist/esm/types/core.d.ts +2 -2
- package/dist/esm/types/errors.d.ts +4 -4
- package/dist/esm/types/storage.d.ts +2 -2
- package/dist/esm/utils/WordArray.mjs +2 -2
- package/dist/esm/utils/WordArray.mjs.map +1 -1
- package/dist/esm/utils/deDupeAsyncFunction.d.ts +1 -5
- package/dist/esm/utils/deDupeAsyncFunction.mjs +8 -8
- package/dist/esm/utils/deDupeAsyncFunction.mjs.map +1 -1
- package/dist/esm/utils/getClientInfo/getClientInfo.android.mjs +0 -1
- package/dist/esm/utils/getClientInfo/getClientInfo.android.mjs.map +1 -1
- package/dist/esm/utils/getClientInfo/getClientInfo.ios.mjs +0 -1
- package/dist/esm/utils/getClientInfo/getClientInfo.ios.mjs.map +1 -1
- package/dist/esm/utils/globalHelpers/index.native.mjs.map +1 -1
- package/dist/esm/utils/queuedStorage/createQueuedStorage.native.mjs +2 -2
- package/dist/esm/utils/queuedStorage/createQueuedStorage.native.mjs.map +1 -1
- package/dist/esm/utils/retry/NonRetryableError.d.ts +0 -1
- package/dist/esm/utils/retry/NonRetryableError.mjs +2 -2
- package/dist/esm/utils/retry/NonRetryableError.mjs.map +1 -1
- package/dist/esm/utils/retry/retry.mjs +15 -6
- package/dist/esm/utils/retry/retry.mjs.map +1 -1
- package/dist/esm/utils/sessionListener/SessionListener.d.ts +1 -1
- package/dist/esm/utils/sessionListener/SessionListener.native.d.ts +1 -1
- package/dist/esm/utils/sessionListener/types.d.ts +2 -2
- package/package.json +5 -4
- package/src/BackgroundProcessManager/BackgroundProcessManager.ts +29 -34
- package/src/BackgroundProcessManager/types.ts +3 -3
- package/src/Cache/StorageCache.native.ts +5 -0
- package/src/Cache/StorageCache.ts +2 -0
- package/src/Cache/StorageCacheCommon.ts +49 -29
- package/src/Cache/types/cache.ts +2 -1
- package/src/Cache/utils/CacheList.ts +6 -3
- package/src/Cache/utils/cacheHelpers.ts +2 -1
- package/src/Hub/index.ts +15 -15
- package/src/Hub/types/AuthTypes.ts +11 -11
- package/src/Hub/types/HubTypes.ts +11 -8
- package/src/I18n/I18n.ts +10 -16
- package/src/I18n/index.ts +7 -7
- package/src/Logger/ConsoleLogger.ts +11 -9
- package/src/Logger/types.ts +1 -1
- package/src/Mutex/Mutex.ts +8 -4
- package/src/Mutex/types.ts +3 -7
- package/src/Platform/customUserAgent.ts +3 -3
- package/src/Platform/detectFramework.ts +4 -1
- package/src/Platform/detection/Angular.ts +4 -4
- package/src/Platform/detection/Expo.ts +1 -2
- package/src/Platform/detection/Next.ts +5 -2
- package/src/Platform/detection/Nuxt.ts +5 -4
- package/src/Platform/detection/index.ts +9 -9
- package/src/Platform/index.ts +4 -4
- package/src/Platform/types.ts +12 -12
- package/src/Platform/version.ts +1 -1
- package/src/Reachability/Reachability.native.ts +6 -3
- package/src/Reachability/Reachability.ts +12 -6
- package/src/Reachability/types.ts +2 -2
- package/src/ServiceWorker/ServiceWorker.ts +28 -23
- package/src/Signer/DateUtils.ts +16 -16
- package/src/Signer/Signer.ts +19 -13
- package/src/adapterCore/serverContext/serverContext.ts +6 -5
- package/src/adapterCore/serverContext/serverContextRegistry.ts +2 -1
- package/src/adapterCore/serverContext/types/amplifyServer.ts +15 -17
- package/src/adapterCore/serverContext/types/cookieStorage.ts +1 -1
- package/src/awsClients/cognitoIdentity/base.ts +16 -12
- package/src/awsClients/cognitoIdentity/getCredentialsForIdentity.ts +13 -10
- package/src/awsClients/cognitoIdentity/getId.ts +12 -9
- package/src/awsClients/cognitoIdentity/types.ts +3 -3
- package/src/awsClients/pinpoint/base.ts +1 -1
- package/src/awsClients/pinpoint/getInAppMessages.ts +8 -5
- package/src/awsClients/pinpoint/putEvents.ts +8 -5
- package/src/awsClients/pinpoint/types.ts +3 -4
- package/src/awsClients/pinpoint/updateEndpoint.ts +8 -5
- package/src/clients/endpoints/getDnsSuffix.ts +1 -0
- package/src/clients/handlers/authenticated.ts +14 -7
- package/src/clients/handlers/fetch.ts +1 -1
- package/src/clients/handlers/unauthenticated.ts +8 -4
- package/src/clients/index.ts +6 -3
- package/src/clients/internal/composeServiceApi.ts +8 -7
- package/src/clients/internal/composeTransferHandler.ts +16 -15
- package/src/clients/middleware/retry/defaultRetryDecider.ts +5 -3
- package/src/clients/middleware/retry/index.ts +1 -1
- package/src/clients/middleware/retry/jitteredBackoff.ts +3 -1
- package/src/clients/middleware/retry/middleware.ts +12 -9
- package/src/clients/middleware/signing/index.ts +1 -1
- package/src/clients/middleware/signing/middleware.ts +5 -2
- package/src/clients/middleware/signing/signer/signatureV4/presignUrl.ts +4 -4
- package/src/clients/middleware/signing/signer/signatureV4/signRequest.ts +2 -1
- package/src/clients/middleware/signing/signer/signatureV4/utils/dataHashHelpers.ts +4 -2
- package/src/clients/middleware/signing/signer/signatureV4/utils/getCanonicalQueryString.ts +2 -1
- package/src/clients/middleware/signing/signer/signatureV4/utils/getCanonicalRequest.ts +2 -1
- package/src/clients/middleware/signing/signer/signatureV4/utils/getCanonicalUri.ts +1 -1
- package/src/clients/middleware/signing/signer/signatureV4/utils/getCredentialScope.ts +1 -1
- package/src/clients/middleware/signing/signer/signatureV4/utils/getFormattedDates.ts +2 -1
- package/src/clients/middleware/signing/signer/signatureV4/utils/getHashedPayload.ts +3 -0
- package/src/clients/middleware/signing/signer/signatureV4/utils/getSignature.ts +4 -3
- package/src/clients/middleware/signing/signer/signatureV4/utils/getSigningKey.ts +3 -1
- package/src/clients/middleware/signing/signer/signatureV4/utils/getSigningValues.ts +3 -1
- package/src/clients/middleware/signing/signer/signatureV4/utils/getStringToSign.ts +2 -2
- package/src/clients/middleware/signing/utils/getUpdatedSystemClockOffset.ts +2 -1
- package/src/clients/middleware/signing/utils/isClockSkewed.ts +2 -2
- package/src/clients/middleware/userAgent/index.ts +1 -1
- package/src/clients/middleware/userAgent/middleware.ts +3 -1
- package/src/clients/serde/json.ts +6 -2
- package/src/clients/serde/responseInfo.ts +6 -2
- package/src/clients/types/aws.ts +6 -3
- package/src/clients/types/core.ts +6 -8
- package/src/clients/types/http.ts +2 -1
- package/src/clients/utils/memoization.ts +2 -0
- package/src/errors/APIError.ts +3 -2
- package/src/errors/PlatformNotSupportedError.ts +1 -0
- package/src/errors/createAssertionFunction.ts +2 -1
- package/src/errors/errorHelpers.ts +2 -1
- package/src/parseAWSExports.ts +16 -15
- package/src/providers/kinesis/types/kinesis.ts +2 -2
- package/src/providers/kinesis-firehose/types/kinesis-firehose.ts +2 -2
- package/src/providers/personalize/types/personalize.ts +2 -2
- package/src/providers/pinpoint/apis/updateEndpoint.ts +2 -2
- package/src/providers/pinpoint/types/buffer.ts +7 -8
- package/src/providers/pinpoint/types/pinpoint.ts +11 -10
- package/src/providers/pinpoint/utils/PinpointEventBuffer.ts +11 -21
- package/src/providers/pinpoint/utils/cacheEndpointId.ts +3 -1
- package/src/providers/pinpoint/utils/getCacheKey.ts +1 -1
- package/src/providers/pinpoint/utils/getEndpointId.ts +3 -1
- package/src/providers/pinpoint/utils/getEventBuffer.ts +2 -1
- package/src/providers/pinpoint/utils/isAppInForeground.native.ts +0 -1
- package/src/providers/pinpoint/utils/resolveEndpointId.ts +1 -0
- package/src/singleton/API/types.ts +35 -33
- package/src/singleton/Amplify.ts +8 -6
- package/src/singleton/Auth/index.ts +9 -13
- package/src/singleton/Auth/types.ts +59 -51
- package/src/singleton/Auth/utils/index.ts +16 -28
- package/src/singleton/Geo/types.ts +3 -3
- package/src/singleton/Interactions/types.ts +4 -4
- package/src/singleton/Notifications/types.ts +6 -5
- package/src/singleton/Predictions/types.ts +28 -28
- package/src/singleton/Storage/types.ts +2 -2
- package/src/singleton/apis/fetchAuthSession.ts +2 -1
- package/src/singleton/apis/internal/fetchAuthSession.ts +1 -1
- package/src/singleton/apis/server/fetchAuthSession.ts +2 -2
- package/src/singleton/types.ts +10 -10
- package/src/storage/CookieStorage.native.ts +1 -5
- package/src/storage/CookieStorage.ts +12 -6
- package/src/storage/DefaultStorage.native.ts +3 -1
- package/src/storage/InMemoryStorage.ts +1 -0
- package/src/storage/KeyValueStorage.ts +1 -0
- package/src/types/core.ts +3 -3
- package/src/types/errors.ts +5 -5
- package/src/types/storage.ts +2 -2
- package/src/utils/WordArray.ts +2 -2
- package/src/utils/convert/base64/base64Encoder.ts +1 -0
- package/src/utils/convert/types.ts +1 -1
- package/src/utils/cryptoSecureRandomInt.ts +1 -0
- package/src/utils/deDupeAsyncFunction.ts +15 -20
- package/src/utils/generateRandomString.ts +1 -1
- package/src/utils/getClientInfo/getClientInfo.android.ts +3 -2
- package/src/utils/getClientInfo/getClientInfo.ios.ts +4 -2
- package/src/utils/getClientInfo/getClientInfo.ts +3 -3
- package/src/utils/globalHelpers/index.native.ts +2 -1
- package/src/utils/haveCredentialsChanged.ts +5 -2
- package/src/utils/isWebWorker.ts +1 -0
- package/src/utils/queuedStorage/createQueuedStorage.native.ts +9 -6
- package/src/utils/queuedStorage/createQueuedStorage.ts +7 -3
- package/src/utils/queuedStorage/types.ts +1 -1
- package/src/utils/retry/NonRetryableError.ts +0 -3
- package/src/utils/retry/isNonRetryableError.ts +1 -0
- package/src/utils/retry/jitteredBackoff.ts +3 -1
- package/src/utils/retry/jitteredExponentialRetry.ts +1 -1
- package/src/utils/retry/retry.ts +22 -8
- package/src/utils/sessionListener/SessionListener.native.ts +4 -3
- package/src/utils/sessionListener/SessionListener.ts +4 -3
- package/src/utils/sessionListener/index.ts +1 -0
- package/src/utils/sessionListener/types.ts +2 -2
- package/src/utils/urlSafeDecode.ts +1 -0
|
@@ -2,7 +2,9 @@
|
|
|
2
2
|
// SPDX-License-Identifier: Apache-2.0
|
|
3
3
|
|
|
4
4
|
import { loadAsyncStorage } from '@aws-amplify/react-native';
|
|
5
|
+
|
|
5
6
|
import { ConsoleLogger } from '../Logger';
|
|
7
|
+
|
|
6
8
|
import { defaultConfig } from './constants';
|
|
7
9
|
import { StorageCacheCommon } from './StorageCacheCommon';
|
|
8
10
|
import { Cache, CacheConfig } from './types';
|
|
@@ -38,6 +40,7 @@ export class StorageCache extends StorageCacheCommon implements Cache {
|
|
|
38
40
|
keys.push(key.substring(this.config.keyPrefix.length));
|
|
39
41
|
}
|
|
40
42
|
}
|
|
43
|
+
|
|
41
44
|
return keys;
|
|
42
45
|
}
|
|
43
46
|
|
|
@@ -46,6 +49,7 @@ export class StorageCache extends StorageCacheCommon implements Cache {
|
|
|
46
49
|
return AsyncStorage.getAllKeys();
|
|
47
50
|
} catch (e) {
|
|
48
51
|
logger.warn(`getAllKeys failed! ${e}`);
|
|
52
|
+
|
|
49
53
|
return [];
|
|
50
54
|
}
|
|
51
55
|
}
|
|
@@ -60,6 +64,7 @@ export class StorageCache extends StorageCacheCommon implements Cache {
|
|
|
60
64
|
logger.error('invalid keyPrefix, setting keyPrefix with timeStamp');
|
|
61
65
|
config.keyPrefix = getCurrentTime.toString();
|
|
62
66
|
}
|
|
67
|
+
|
|
63
68
|
return new StorageCache(config);
|
|
64
69
|
}
|
|
65
70
|
}
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
import { ConsoleLogger } from '../Logger';
|
|
5
5
|
import { KeyValueStorage } from '../storage/KeyValueStorage';
|
|
6
6
|
import { getLocalStorageWithFallback } from '../storage/utils';
|
|
7
|
+
|
|
7
8
|
import { defaultConfig } from './constants';
|
|
8
9
|
import { StorageCacheCommon } from './StorageCacheCommon';
|
|
9
10
|
import { Cache, CacheConfig } from './types';
|
|
@@ -42,6 +43,7 @@ export class StorageCache extends StorageCacheCommon implements Cache {
|
|
|
42
43
|
keys.push(key.substring(this.config.keyPrefix.length));
|
|
43
44
|
}
|
|
44
45
|
}
|
|
46
|
+
|
|
45
47
|
return keys;
|
|
46
48
|
}
|
|
47
49
|
|
|
@@ -3,10 +3,11 @@
|
|
|
3
3
|
|
|
4
4
|
import { ConsoleLogger } from '../Logger';
|
|
5
5
|
import { KeyValueStorageInterface } from '../types';
|
|
6
|
+
|
|
6
7
|
import { currentSizeKey, defaultConfig } from './constants';
|
|
7
8
|
import { CacheConfig, CacheItem, CacheItemOptions } from './types';
|
|
8
|
-
import { getCurrentSizeKey, getCurrentTime
|
|
9
|
-
import {
|
|
9
|
+
import { getByteLength, getCurrentSizeKey, getCurrentTime } from './utils';
|
|
10
|
+
import { CacheErrorCode, assert } from './utils/errorHelpers';
|
|
10
11
|
|
|
11
12
|
const logger = new ConsoleLogger('StorageCache');
|
|
12
13
|
|
|
@@ -58,7 +59,7 @@ export abstract class StorageCacheCommon {
|
|
|
58
59
|
if (config) {
|
|
59
60
|
if ((config as CacheConfig).keyPrefix) {
|
|
60
61
|
logger.warn(
|
|
61
|
-
'keyPrefix can not be re-configured on an existing Cache instance.'
|
|
62
|
+
'keyPrefix can not be re-configured on an existing Cache instance.',
|
|
62
63
|
);
|
|
63
64
|
}
|
|
64
65
|
|
|
@@ -79,15 +80,16 @@ export abstract class StorageCacheCommon {
|
|
|
79
80
|
*/
|
|
80
81
|
public async getCurrentCacheSize() {
|
|
81
82
|
let size = await this.getStorage().getItem(
|
|
82
|
-
getCurrentSizeKey(this.config.keyPrefix)
|
|
83
|
+
getCurrentSizeKey(this.config.keyPrefix),
|
|
83
84
|
);
|
|
84
85
|
if (!size) {
|
|
85
86
|
await this.getStorage().setItem(
|
|
86
87
|
getCurrentSizeKey(this.config.keyPrefix),
|
|
87
|
-
'0'
|
|
88
|
+
'0',
|
|
88
89
|
);
|
|
89
90
|
size = '0';
|
|
90
91
|
}
|
|
92
|
+
|
|
91
93
|
return Number(size);
|
|
92
94
|
}
|
|
93
95
|
|
|
@@ -112,21 +114,23 @@ export abstract class StorageCacheCommon {
|
|
|
112
114
|
public async setItem(
|
|
113
115
|
key: string,
|
|
114
116
|
value: any,
|
|
115
|
-
options?: Record<string, any
|
|
117
|
+
options?: Record<string, any>,
|
|
116
118
|
): Promise<void> {
|
|
117
119
|
logger.debug(
|
|
118
|
-
`Set item: key is ${key}, value is ${value} with options: ${options}
|
|
120
|
+
`Set item: key is ${key}, value is ${value} with options: ${options}`,
|
|
119
121
|
);
|
|
120
122
|
|
|
121
123
|
if (!key || key === currentSizeKey) {
|
|
122
124
|
logger.warn(
|
|
123
|
-
`Invalid key: should not be empty or reserved key: '${currentSizeKey}'
|
|
125
|
+
`Invalid key: should not be empty or reserved key: '${currentSizeKey}'`,
|
|
124
126
|
);
|
|
127
|
+
|
|
125
128
|
return;
|
|
126
129
|
}
|
|
127
130
|
|
|
128
131
|
if (typeof value === 'undefined') {
|
|
129
132
|
logger.warn(`The value of item should not be undefined!`);
|
|
133
|
+
|
|
130
134
|
return;
|
|
131
135
|
}
|
|
132
136
|
|
|
@@ -143,8 +147,9 @@ export abstract class StorageCacheCommon {
|
|
|
143
147
|
|
|
144
148
|
if (cacheItemOptions.priority < 1 || cacheItemOptions.priority > 5) {
|
|
145
149
|
logger.warn(
|
|
146
|
-
`Invalid parameter: priority due to out or range. It should be within 1 and 5
|
|
150
|
+
`Invalid parameter: priority due to out or range. It should be within 1 and 5.`,
|
|
147
151
|
);
|
|
152
|
+
|
|
148
153
|
return;
|
|
149
154
|
}
|
|
150
155
|
|
|
@@ -154,8 +159,9 @@ export abstract class StorageCacheCommon {
|
|
|
154
159
|
// check whether this item is too big;
|
|
155
160
|
if (item.byteSize > this.config.itemMaxSize) {
|
|
156
161
|
logger.warn(
|
|
157
|
-
`Item with key: ${key} you are trying to put into is too big
|
|
162
|
+
`Item with key: ${key} you are trying to put into is too big!`,
|
|
158
163
|
);
|
|
164
|
+
|
|
159
165
|
return;
|
|
160
166
|
}
|
|
161
167
|
|
|
@@ -174,6 +180,7 @@ export abstract class StorageCacheCommon {
|
|
|
174
180
|
await this.popOutItems(validKeys, sizeToPop);
|
|
175
181
|
}
|
|
176
182
|
}
|
|
183
|
+
|
|
177
184
|
// put item in the cache
|
|
178
185
|
return this.setCacheItem(prefixedKey, item);
|
|
179
186
|
} catch (e) {
|
|
@@ -198,15 +205,16 @@ export abstract class StorageCacheCommon {
|
|
|
198
205
|
*/
|
|
199
206
|
public async getItem(
|
|
200
207
|
key: string,
|
|
201
|
-
options?: CacheItemOptions
|
|
208
|
+
options?: CacheItemOptions,
|
|
202
209
|
): Promise<CacheItem['data']> {
|
|
203
210
|
logger.debug(`Get item: key is ${key} with options ${options}`);
|
|
204
211
|
let cached;
|
|
205
212
|
|
|
206
213
|
if (!key || key === currentSizeKey) {
|
|
207
214
|
logger.warn(
|
|
208
|
-
`Invalid key: should not be empty or reserved key: '${currentSizeKey}'
|
|
215
|
+
`Invalid key: should not be empty or reserved key: '${currentSizeKey}'`,
|
|
209
216
|
);
|
|
217
|
+
|
|
210
218
|
return null;
|
|
211
219
|
}
|
|
212
220
|
|
|
@@ -222,8 +230,9 @@ export abstract class StorageCacheCommon {
|
|
|
222
230
|
// if not expired, update its visitedTime and return the value
|
|
223
231
|
const item = await this.updateVisitedTime(
|
|
224
232
|
JSON.parse(cached),
|
|
225
|
-
prefixedKey
|
|
233
|
+
prefixedKey,
|
|
226
234
|
);
|
|
235
|
+
|
|
227
236
|
return item.data;
|
|
228
237
|
}
|
|
229
238
|
}
|
|
@@ -233,11 +242,14 @@ export abstract class StorageCacheCommon {
|
|
|
233
242
|
if (val !== null) {
|
|
234
243
|
await this.setItem(key, val, options);
|
|
235
244
|
}
|
|
245
|
+
|
|
236
246
|
return val;
|
|
237
247
|
}
|
|
248
|
+
|
|
238
249
|
return null;
|
|
239
250
|
} catch (e) {
|
|
240
251
|
logger.warn(`getItem failed! ${e}`);
|
|
252
|
+
|
|
241
253
|
return null;
|
|
242
254
|
}
|
|
243
255
|
}
|
|
@@ -254,8 +266,9 @@ export abstract class StorageCacheCommon {
|
|
|
254
266
|
|
|
255
267
|
if (!key || key === currentSizeKey) {
|
|
256
268
|
logger.warn(
|
|
257
|
-
`Invalid key: should not be empty or reserved key: '${currentSizeKey}'
|
|
269
|
+
`Invalid key: should not be empty or reserved key: '${currentSizeKey}'`,
|
|
258
270
|
);
|
|
271
|
+
|
|
259
272
|
return;
|
|
260
273
|
}
|
|
261
274
|
|
|
@@ -282,6 +295,7 @@ export abstract class StorageCacheCommon {
|
|
|
282
295
|
return await this.getAllCacheKeys();
|
|
283
296
|
} catch (e) {
|
|
284
297
|
logger.warn(`getAllkeys failed! ${e}`);
|
|
298
|
+
|
|
285
299
|
return [];
|
|
286
300
|
}
|
|
287
301
|
}
|
|
@@ -304,6 +318,7 @@ export abstract class StorageCacheCommon {
|
|
|
304
318
|
if (getCurrentTime() >= item.expires) {
|
|
305
319
|
return true;
|
|
306
320
|
}
|
|
321
|
+
|
|
307
322
|
return false;
|
|
308
323
|
}
|
|
309
324
|
|
|
@@ -315,7 +330,7 @@ export abstract class StorageCacheCommon {
|
|
|
315
330
|
*/
|
|
316
331
|
protected async removeCacheItem(
|
|
317
332
|
prefixedKey: string,
|
|
318
|
-
size?: number
|
|
333
|
+
size?: number,
|
|
319
334
|
): Promise<void> {
|
|
320
335
|
const item = await this.getStorage().getItem(prefixedKey);
|
|
321
336
|
assert(item !== null, CacheErrorCode.NoCacheItem, `Key: ${prefixedKey}`);
|
|
@@ -343,7 +358,7 @@ export abstract class StorageCacheCommon {
|
|
|
343
358
|
protected fillCacheItem(
|
|
344
359
|
key: string,
|
|
345
360
|
value: object | number | string | boolean,
|
|
346
|
-
options: CacheItemOptions
|
|
361
|
+
options: CacheItemOptions,
|
|
347
362
|
): CacheItem {
|
|
348
363
|
const item: CacheItem = {
|
|
349
364
|
key,
|
|
@@ -359,20 +374,21 @@ export abstract class StorageCacheCommon {
|
|
|
359
374
|
item.byteSize = getByteLength(JSON.stringify(item));
|
|
360
375
|
// re-calculate using cache item with updated byteSize property
|
|
361
376
|
item.byteSize = getByteLength(JSON.stringify(item));
|
|
377
|
+
|
|
362
378
|
return item;
|
|
363
379
|
}
|
|
364
380
|
|
|
365
381
|
private sanitizeConfig(): void {
|
|
366
382
|
if (this.config.itemMaxSize > this.config.capacityInBytes) {
|
|
367
383
|
logger.error(
|
|
368
|
-
'Invalid parameter: itemMaxSize. It should be smaller than capacityInBytes. Setting back to default.'
|
|
384
|
+
'Invalid parameter: itemMaxSize. It should be smaller than capacityInBytes. Setting back to default.',
|
|
369
385
|
);
|
|
370
386
|
this.config.itemMaxSize = defaultConfig.itemMaxSize;
|
|
371
387
|
}
|
|
372
388
|
|
|
373
389
|
if (this.config.defaultPriority > 5 || this.config.defaultPriority < 1) {
|
|
374
390
|
logger.error(
|
|
375
|
-
'Invalid parameter: defaultPriority. It should be between 1 and 5. Setting back to default.'
|
|
391
|
+
'Invalid parameter: defaultPriority. It should be between 1 and 5. Setting back to default.',
|
|
376
392
|
);
|
|
377
393
|
this.config.defaultPriority = defaultConfig.defaultPriority;
|
|
378
394
|
}
|
|
@@ -382,7 +398,7 @@ export abstract class StorageCacheCommon {
|
|
|
382
398
|
Number(this.config.warningThreshold) < 0
|
|
383
399
|
) {
|
|
384
400
|
logger.error(
|
|
385
|
-
'Invalid parameter: warningThreshold. It should be between 0 and 1. Setting back to default.'
|
|
401
|
+
'Invalid parameter: warningThreshold. It should be between 0 and 1. Setting back to default.',
|
|
386
402
|
);
|
|
387
403
|
this.config.warningThreshold = defaultConfig.warningThreshold;
|
|
388
404
|
}
|
|
@@ -391,7 +407,7 @@ export abstract class StorageCacheCommon {
|
|
|
391
407
|
const cacheLimit: number = 5 * 1024 * 1024;
|
|
392
408
|
if (this.config.capacityInBytes > cacheLimit) {
|
|
393
409
|
logger.error(
|
|
394
|
-
'Cache Capacity should be less than 5MB. Setting back to default. Setting back to default.'
|
|
410
|
+
'Cache Capacity should be less than 5MB. Setting back to default. Setting back to default.',
|
|
395
411
|
);
|
|
396
412
|
this.config.capacityInBytes = defaultConfig.capacityInBytes;
|
|
397
413
|
}
|
|
@@ -406,7 +422,7 @@ export abstract class StorageCacheCommon {
|
|
|
406
422
|
const size = await this.getCurrentCacheSize();
|
|
407
423
|
await this.getStorage().setItem(
|
|
408
424
|
getCurrentSizeKey(this.config.keyPrefix),
|
|
409
|
-
(size + amount).toString()
|
|
425
|
+
(size + amount).toString(),
|
|
410
426
|
);
|
|
411
427
|
}
|
|
412
428
|
|
|
@@ -419,7 +435,7 @@ export abstract class StorageCacheCommon {
|
|
|
419
435
|
const size = await this.getCurrentCacheSize();
|
|
420
436
|
await this.getStorage().setItem(
|
|
421
437
|
getCurrentSizeKey(this.config.keyPrefix),
|
|
422
|
-
(size - amount).toString()
|
|
438
|
+
(size - amount).toString(),
|
|
423
439
|
);
|
|
424
440
|
}
|
|
425
441
|
|
|
@@ -433,10 +449,11 @@ export abstract class StorageCacheCommon {
|
|
|
433
449
|
*/
|
|
434
450
|
private async updateVisitedTime(
|
|
435
451
|
item: CacheItem,
|
|
436
|
-
prefixedKey: string
|
|
452
|
+
prefixedKey: string,
|
|
437
453
|
): Promise<CacheItem> {
|
|
438
454
|
item.visitedTime = getCurrentTime();
|
|
439
455
|
await this.getStorage().setItem(prefixedKey, JSON.stringify(item));
|
|
456
|
+
|
|
440
457
|
return item;
|
|
441
458
|
}
|
|
442
459
|
|
|
@@ -449,7 +466,7 @@ export abstract class StorageCacheCommon {
|
|
|
449
466
|
*/
|
|
450
467
|
private async setCacheItem(
|
|
451
468
|
prefixedKey: string,
|
|
452
|
-
item: CacheItem
|
|
469
|
+
item: CacheItem,
|
|
453
470
|
): Promise<void> {
|
|
454
471
|
// first try to update the current size of the cache.
|
|
455
472
|
await this.increaseCurrentSizeInBytes(item.byteSize);
|
|
@@ -476,6 +493,7 @@ export abstract class StorageCacheCommon {
|
|
|
476
493
|
const spaceItemNeed = cur + itemSize - this.config.capacityInBytes;
|
|
477
494
|
const cacheThresholdSpace =
|
|
478
495
|
(1 - this.config.warningThreshold) * this.config.capacityInBytes;
|
|
496
|
+
|
|
479
497
|
return spaceItemNeed > cacheThresholdSpace
|
|
480
498
|
? spaceItemNeed
|
|
481
499
|
: cacheThresholdSpace;
|
|
@@ -490,6 +508,7 @@ export abstract class StorageCacheCommon {
|
|
|
490
508
|
*/
|
|
491
509
|
private async isCacheFull(itemSize: number): Promise<boolean> {
|
|
492
510
|
const cur = await this.getCurrentCacheSize();
|
|
511
|
+
|
|
493
512
|
return itemSize + cur > this.config.capacityInBytes;
|
|
494
513
|
}
|
|
495
514
|
|
|
@@ -504,8 +523,8 @@ export abstract class StorageCacheCommon {
|
|
|
504
523
|
private async popOutItems(keys: string[], sizeToPop: number): Promise<void> {
|
|
505
524
|
const items: any[] = [];
|
|
506
525
|
let remainedSize = sizeToPop;
|
|
507
|
-
for (
|
|
508
|
-
const val = await this.getStorage().getItem(
|
|
526
|
+
for (const key of keys) {
|
|
527
|
+
const val = await this.getStorage().getItem(key);
|
|
509
528
|
if (val != null) {
|
|
510
529
|
const item = JSON.parse(val);
|
|
511
530
|
items.push(item);
|
|
@@ -526,10 +545,10 @@ export abstract class StorageCacheCommon {
|
|
|
526
545
|
}
|
|
527
546
|
});
|
|
528
547
|
|
|
529
|
-
for (
|
|
548
|
+
for (const item of items) {
|
|
530
549
|
// pop out items until we have enough room for new item
|
|
531
|
-
await this.removeCacheItem(
|
|
532
|
-
remainedSize -=
|
|
550
|
+
await this.removeCacheItem(item.key, item.byteSize);
|
|
551
|
+
remainedSize -= item.byteSize;
|
|
533
552
|
if (remainedSize <= 0) {
|
|
534
553
|
return;
|
|
535
554
|
}
|
|
@@ -555,6 +574,7 @@ export abstract class StorageCacheCommon {
|
|
|
555
574
|
remainingKeys.push(key);
|
|
556
575
|
}
|
|
557
576
|
}
|
|
577
|
+
|
|
558
578
|
return remainingKeys;
|
|
559
579
|
}
|
|
560
580
|
|
package/src/Cache/types/cache.ts
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
// SPDX-License-Identifier: Apache-2.0
|
|
3
3
|
|
|
4
4
|
import { CacheConfig } from '../../singleton/Cache/types';
|
|
5
|
+
|
|
5
6
|
export { CacheConfig };
|
|
6
7
|
|
|
7
8
|
/**
|
|
@@ -47,5 +48,5 @@ export interface CacheItem {
|
|
|
47
48
|
export interface CacheItemOptions {
|
|
48
49
|
priority?: number;
|
|
49
50
|
expires?: number;
|
|
50
|
-
callback
|
|
51
|
+
callback?(): unknown;
|
|
51
52
|
}
|
|
@@ -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
|
|
|
4
|
-
import {
|
|
4
|
+
import { CacheErrorCode, assert } from './errorHelpers';
|
|
5
5
|
|
|
6
6
|
class DoubleLinkedNode {
|
|
7
7
|
key: string;
|
|
@@ -9,7 +9,7 @@ class DoubleLinkedNode {
|
|
|
9
9
|
nextNode: DoubleLinkedNode | null;
|
|
10
10
|
|
|
11
11
|
constructor(keyVal?: string) {
|
|
12
|
-
this.key = keyVal
|
|
12
|
+
this.key = keyVal || '';
|
|
13
13
|
this.prevNode = null;
|
|
14
14
|
this.nextNode = null;
|
|
15
15
|
}
|
|
@@ -112,6 +112,7 @@ export class CacheList {
|
|
|
112
112
|
*/
|
|
113
113
|
public getLastItem(): string {
|
|
114
114
|
assert(this.tail.prevNode !== null, CacheErrorCode.NullPreviousNode);
|
|
115
|
+
|
|
115
116
|
return this.tail.prevNode.key;
|
|
116
117
|
}
|
|
117
118
|
|
|
@@ -145,7 +146,7 @@ export class CacheList {
|
|
|
145
146
|
*/
|
|
146
147
|
public clearList(): void {
|
|
147
148
|
for (const key of Object.keys(this.hashtable)) {
|
|
148
|
-
if (
|
|
149
|
+
if (Object.prototype.hasOwnProperty.call(this.hashtable, key)) {
|
|
149
150
|
delete this.hashtable[key];
|
|
150
151
|
}
|
|
151
152
|
}
|
|
@@ -169,6 +170,7 @@ export class CacheList {
|
|
|
169
170
|
*/
|
|
170
171
|
public isHeadNode(key: string): boolean {
|
|
171
172
|
const node = this.hashtable[key];
|
|
173
|
+
|
|
172
174
|
return node.prevNode === this.head;
|
|
173
175
|
}
|
|
174
176
|
|
|
@@ -180,6 +182,7 @@ export class CacheList {
|
|
|
180
182
|
*/
|
|
181
183
|
public isTailNode(key: string): boolean {
|
|
182
184
|
const node = this.hashtable[key];
|
|
185
|
+
|
|
183
186
|
return node.nextNode === this.tail;
|
|
184
187
|
}
|
|
185
188
|
}
|
|
@@ -8,7 +8,7 @@ import { currentSizeKey } from '../constants';
|
|
|
8
8
|
* @param str
|
|
9
9
|
*/
|
|
10
10
|
export function getByteLength(str: string): number {
|
|
11
|
-
let ret
|
|
11
|
+
let ret = 0;
|
|
12
12
|
ret = str.length;
|
|
13
13
|
|
|
14
14
|
for (let i = str.length; i >= 0; i -= 1) {
|
|
@@ -32,6 +32,7 @@ export function getByteLength(str: string): number {
|
|
|
32
32
|
*/
|
|
33
33
|
export function getCurrentTime(): number {
|
|
34
34
|
const currentTime = new Date();
|
|
35
|
+
|
|
35
36
|
return currentTime.getTime();
|
|
36
37
|
}
|
|
37
38
|
|
package/src/Hub/index.ts
CHANGED
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
import { ConsoleLogger } from '../Logger';
|
|
5
5
|
import { NO_HUBCALLBACK_PROVIDED_EXCEPTION } from '../constants';
|
|
6
6
|
import { AmplifyError } from '../errors';
|
|
7
|
+
|
|
7
8
|
import {
|
|
8
9
|
AmplifyChannel,
|
|
9
10
|
AmplifyEventData,
|
|
@@ -19,7 +20,7 @@ export const AMPLIFY_SYMBOL = (
|
|
|
19
20
|
typeof Symbol !== 'undefined'
|
|
20
21
|
? Symbol('amplify_default')
|
|
21
22
|
: '@@amplify_default'
|
|
22
|
-
) as
|
|
23
|
+
) as symbol;
|
|
23
24
|
|
|
24
25
|
const logger = new ConsoleLogger('Hub');
|
|
25
26
|
|
|
@@ -56,6 +57,7 @@ export class HubClass {
|
|
|
56
57
|
const holder = this.listeners.get(channel);
|
|
57
58
|
if (!holder) {
|
|
58
59
|
logger.warn(`No listeners for ${channel}`);
|
|
60
|
+
|
|
59
61
|
return;
|
|
60
62
|
}
|
|
61
63
|
this.listeners.set(channel, [
|
|
@@ -77,14 +79,14 @@ export class HubClass {
|
|
|
77
79
|
channel: Channel,
|
|
78
80
|
payload: HubPayload<AmplifyEventData[Channel]>,
|
|
79
81
|
source?: string,
|
|
80
|
-
ampSymbol?:
|
|
82
|
+
ampSymbol?: symbol,
|
|
81
83
|
): void;
|
|
82
84
|
|
|
83
85
|
dispatch(
|
|
84
86
|
channel: string,
|
|
85
87
|
payload: HubPayload,
|
|
86
88
|
source?: string,
|
|
87
|
-
ampSymbol?:
|
|
89
|
+
ampSymbol?: symbol,
|
|
88
90
|
): void;
|
|
89
91
|
|
|
90
92
|
dispatch<
|
|
@@ -94,7 +96,7 @@ export class HubClass {
|
|
|
94
96
|
channel: Channel | string,
|
|
95
97
|
payload: HubPayload<EventData>,
|
|
96
98
|
source?: string,
|
|
97
|
-
ampSymbol?:
|
|
99
|
+
ampSymbol?: symbol,
|
|
98
100
|
): void {
|
|
99
101
|
if (
|
|
100
102
|
typeof channel === 'string' &&
|
|
@@ -104,7 +106,7 @@ export class HubClass {
|
|
|
104
106
|
|
|
105
107
|
if (!hasAccess) {
|
|
106
108
|
logger.warn(
|
|
107
|
-
`WARNING: ${channel} is protected and dispatching on it can have unintended consequences
|
|
109
|
+
`WARNING: ${channel} is protected and dispatching on it can have unintended consequences`,
|
|
108
110
|
);
|
|
109
111
|
}
|
|
110
112
|
}
|
|
@@ -132,19 +134,16 @@ export class HubClass {
|
|
|
132
134
|
* @returns A function which can be called to cancel the listener.
|
|
133
135
|
*
|
|
134
136
|
*/
|
|
135
|
-
listen<
|
|
136
|
-
Channel extends AmplifyChannel,
|
|
137
|
-
EventData extends EventDataMap = EventDataMap,
|
|
138
|
-
>(
|
|
137
|
+
listen<Channel extends AmplifyChannel>(
|
|
139
138
|
channel: Channel,
|
|
140
139
|
callback: HubCallback<Channel, AmplifyEventData[Channel]>,
|
|
141
|
-
listenerName?: string
|
|
140
|
+
listenerName?: string,
|
|
142
141
|
): StopListenerCallback;
|
|
143
142
|
|
|
144
143
|
listen<EventData extends EventDataMap>(
|
|
145
144
|
channel: string,
|
|
146
145
|
callback: HubCallback<string, EventData>,
|
|
147
|
-
listenerName?: string
|
|
146
|
+
listenerName?: string,
|
|
148
147
|
): StopListenerCallback;
|
|
149
148
|
|
|
150
149
|
listen<
|
|
@@ -153,7 +152,7 @@ export class HubClass {
|
|
|
153
152
|
>(
|
|
154
153
|
channel: Channel,
|
|
155
154
|
callback: HubCallback<Channel, EventData>,
|
|
156
|
-
listenerName
|
|
155
|
+
listenerName = 'noname',
|
|
157
156
|
): StopListenerCallback {
|
|
158
157
|
let cb: HubCallback<string, EventDataMap>;
|
|
159
158
|
if (typeof callback !== 'function') {
|
|
@@ -176,13 +175,14 @@ export class HubClass {
|
|
|
176
175
|
name: listenerName,
|
|
177
176
|
callback: cb,
|
|
178
177
|
});
|
|
178
|
+
|
|
179
179
|
return () => {
|
|
180
180
|
this._remove(channel, cb);
|
|
181
181
|
};
|
|
182
182
|
}
|
|
183
183
|
|
|
184
184
|
private _toListeners<Channel extends AmplifyChannel | string>(
|
|
185
|
-
capsule: HubCapsule<Channel, EventDataMap | AmplifyEventData[Channel]
|
|
185
|
+
capsule: HubCapsule<Channel, EventDataMap | AmplifyEventData[Channel]>,
|
|
186
186
|
) {
|
|
187
187
|
const { channel, payload } = capsule;
|
|
188
188
|
const holder = this.listeners.get(channel);
|
|
@@ -199,9 +199,9 @@ export class HubClass {
|
|
|
199
199
|
}
|
|
200
200
|
}
|
|
201
201
|
|
|
202
|
-
/*We export a __default__ instance of HubClass to use it as a
|
|
202
|
+
/* We export a __default__ instance of HubClass to use it as a
|
|
203
203
|
pseudo Singleton for the main messaging bus, however you can still create
|
|
204
|
-
your own instance of HubClass() for a separate "private bus" of events
|
|
204
|
+
your own instance of HubClass() for a separate "private bus" of events. */
|
|
205
205
|
export const Hub = new HubClass('__default__');
|
|
206
206
|
|
|
207
207
|
/**
|
|
@@ -1,30 +1,30 @@
|
|
|
1
1
|
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
2
2
|
// SPDX-License-Identifier: Apache-2.0
|
|
3
3
|
|
|
4
|
-
|
|
4
|
+
interface AuthUser {
|
|
5
5
|
username: string;
|
|
6
6
|
userId: string;
|
|
7
|
-
}
|
|
8
|
-
|
|
7
|
+
}
|
|
8
|
+
interface AuthError {
|
|
9
9
|
name: string;
|
|
10
10
|
message: string;
|
|
11
11
|
recoverySuggestion?: string;
|
|
12
|
-
}
|
|
12
|
+
}
|
|
13
13
|
export type AuthHubEventData =
|
|
14
|
-
/** Dispatched when a user signs in with an oauth provider such as Google
|
|
14
|
+
/** Dispatched when a user signs in with an oauth provider such as Google. */
|
|
15
15
|
| { event: 'signInWithRedirect' }
|
|
16
|
-
/** Dispatched when there is an error in the oauth flow process
|
|
16
|
+
/** Dispatched when there is an error in the oauth flow process. */
|
|
17
17
|
| {
|
|
18
18
|
event: 'signInWithRedirect_failure';
|
|
19
19
|
data: { error?: AuthError };
|
|
20
20
|
}
|
|
21
|
-
/** Dispatched when auth tokens are successfully refreshed
|
|
21
|
+
/** Dispatched when auth tokens are successfully refreshed. */
|
|
22
22
|
| { event: 'tokenRefresh' }
|
|
23
|
-
/** Dispatched when there is an error in the refresh of tokens
|
|
23
|
+
/** Dispatched when there is an error in the refresh of tokens. */
|
|
24
24
|
| { event: 'tokenRefresh_failure'; data: { error?: AuthError } }
|
|
25
|
-
/** Dispatched when there is a customState passed in the options of the `signInWithRedirect` API
|
|
25
|
+
/** Dispatched when there is a customState passed in the options of the `signInWithRedirect` API. */
|
|
26
26
|
| { event: 'customOAuthState'; data: string }
|
|
27
|
-
/** Dispatched when the user is signed-in
|
|
27
|
+
/** Dispatched when the user is signed-in. */
|
|
28
28
|
| { event: 'signedIn'; data: AuthUser }
|
|
29
|
-
/** Dispatched after the user calls the `signOut` API successfully
|
|
29
|
+
/** Dispatched after the user calls the `signOut` API successfully. */
|
|
30
30
|
| { event: 'signedOut' };
|
|
@@ -11,25 +11,28 @@ export type IListener<
|
|
|
11
11
|
callback: HubCallback<Channel, EventData>;
|
|
12
12
|
}[];
|
|
13
13
|
|
|
14
|
-
export
|
|
14
|
+
export interface EventDataMap {
|
|
15
|
+
event: string;
|
|
16
|
+
data?: unknown;
|
|
17
|
+
}
|
|
15
18
|
|
|
16
|
-
export
|
|
19
|
+
export interface AmplifyEventData {
|
|
17
20
|
auth: AuthHubEventData;
|
|
18
21
|
[key: string]: EventDataMap;
|
|
19
|
-
}
|
|
22
|
+
}
|
|
20
23
|
export type AmplifyChannel = 'auth';
|
|
21
24
|
|
|
22
25
|
export type StopListenerCallback = () => void;
|
|
23
26
|
|
|
24
|
-
export
|
|
27
|
+
export interface HubCapsule<
|
|
25
28
|
Channel extends string,
|
|
26
29
|
EventData extends EventDataMap,
|
|
27
|
-
>
|
|
30
|
+
> {
|
|
28
31
|
channel: Channel;
|
|
29
32
|
payload: HubPayload<EventData>;
|
|
30
33
|
source?: string;
|
|
31
34
|
patternInfo?: string[];
|
|
32
|
-
}
|
|
35
|
+
}
|
|
33
36
|
|
|
34
37
|
export type HubCallback<
|
|
35
38
|
Channel extends string = string,
|
|
@@ -41,6 +44,6 @@ export type HubPayload<EventData extends EventDataMap = EventDataMap> =
|
|
|
41
44
|
message?: string;
|
|
42
45
|
};
|
|
43
46
|
|
|
44
|
-
export
|
|
47
|
+
export interface AmplifyHubCallbackMap<Channel extends AmplifyChannel> {
|
|
45
48
|
auth: HubCallback<Channel>;
|
|
46
|
-
}
|
|
49
|
+
}
|