@aws-amplify/core 6.0.1-preview-testing.be90020.0 → 6.0.1-ssr-api.df60e41.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/internals/aws-clients/pinpoint/package.json +4 -4
- package/lib/BackgroundProcessManager/BackgroundManagerNotOpenError.d.ts +3 -0
- package/lib/BackgroundProcessManager/BackgroundManagerNotOpenError.js +11 -0
- package/lib/{Util → BackgroundProcessManager}/BackgroundProcessManager.d.ts +1 -23
- package/lib/BackgroundProcessManager/BackgroundProcessManager.js +287 -0
- package/lib/BackgroundProcessManager/index.d.ts +1 -0
- package/lib/BackgroundProcessManager/index.js +7 -0
- package/lib/BackgroundProcessManager/types.d.ts +41 -0
- package/lib/BackgroundProcessManager/types.js +23 -0
- package/lib/Cache/StorageCache.d.ts +14 -31
- package/lib/Cache/StorageCache.js +41 -106
- package/lib/Cache/StorageCache.native.d.ts +19 -0
- package/lib/Cache/StorageCache.native.js +62 -0
- package/lib/Cache/{AsyncStorageCache.d.ts → StorageCacheCommon.d.ts} +124 -99
- package/lib/Cache/StorageCacheCommon.js +468 -0
- package/lib/Cache/constants.d.ts +6 -0
- package/lib/Cache/constants.js +17 -0
- package/lib/Cache/index.d.ts +2 -0
- package/lib/Cache/index.js +7 -0
- package/lib/Cache/types/cache.d.ts +38 -0
- package/lib/Cache/types/index.d.ts +1 -1
- package/lib/Cache/types/index.js +1 -1
- package/lib/Cache/{Utils → utils}/CacheList.d.ts +1 -1
- package/lib/Cache/utils/CacheList.js +160 -0
- package/lib/Cache/utils/cacheHelpers.d.ts +14 -0
- package/lib/Cache/utils/cacheHelpers.js +49 -0
- package/lib/Cache/utils/errorHelpers.d.ts +7 -0
- package/lib/Cache/utils/errorHelpers.js +24 -0
- package/lib/Cache/utils/index.d.ts +2 -0
- package/lib/Cache/utils/index.js +12 -0
- package/lib/Hub/index.d.ts +7 -0
- package/lib/Hub/index.js +44 -77
- package/lib/Hub/types/AuthTypes.d.ts +19 -0
- package/lib/I18n/I18n.d.ts +3 -19
- package/lib/I18n/I18n.js +25 -60
- package/lib/I18n/errorHelpers.d.ts +5 -0
- package/lib/I18n/errorHelpers.js +16 -0
- package/lib/I18n/index.d.ts +3 -15
- package/lib/I18n/index.js +28 -56
- package/lib/I18n/types.d.ts +1 -4
- package/lib/I18n/types.js +5 -9
- package/lib/Logger/ConsoleLogger.js +54 -130
- package/{lib-esm/Util → lib/Mutex}/Mutex.d.ts +2 -15
- package/lib/{Util → Mutex}/Mutex.js +17 -20
- package/lib/Mutex/index.d.ts +1 -0
- package/lib/Mutex/index.js +7 -0
- package/lib/Mutex/types.d.ts +13 -0
- package/lib/Platform/customUserAgent.d.ts +16 -0
- package/lib/Platform/customUserAgent.js +57 -0
- 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 +32 -52
- package/lib/Platform/types.d.ts +75 -8
- package/lib/Platform/types.js +40 -39
- package/lib/Platform/version.d.ts +1 -1
- package/lib/Platform/version.js +1 -1
- package/lib/Reachability/Reachability.d.ts +7 -0
- package/lib/Reachability/Reachability.js +42 -0
- package/lib/Reachability/Reachability.native.d.ts +6 -0
- package/lib/{Util → Reachability}/Reachability.native.js +14 -20
- package/lib/Reachability/index.d.ts +1 -0
- package/lib/Reachability/index.js +7 -0
- package/lib/Reachability/types.d.ts +3 -0
- package/lib/Reachability/types.js +4 -0
- package/lib/ServiceWorker/ServiceWorker.js +86 -112
- package/lib/ServiceWorker/errorHelpers.d.ts +7 -0
- package/lib/ServiceWorker/errorHelpers.js +24 -0
- package/lib/ServiceWorker/index.d.ts +0 -12
- package/lib/ServiceWorker/index.js +0 -12
- package/lib/{Util → Signer}/DateUtils.js +10 -27
- package/lib/{Signer.js → Signer/Signer.js} +50 -52
- package/lib/Signer/index.d.ts +1 -0
- package/lib/Signer/index.js +7 -0
- package/lib/adapterCore/error/AmplifyServerContextError.d.ts +1 -1
- 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 +67 -0
- package/lib/{AwsClients/CognitoIdentity → awsClients/cognitoIdentity}/getCredentialsForIdentity.d.ts +2 -1
- package/lib/awsClients/cognitoIdentity/getCredentialsForIdentity.js +39 -0
- package/lib/{AwsClients/CognitoIdentity → awsClients/cognitoIdentity}/getId.d.ts +2 -1
- package/lib/awsClients/cognitoIdentity/getId.js +30 -0
- package/lib/awsClients/cognitoIdentity/types.js +4 -0
- package/lib/{AwsClients/Pinpoint → awsClients/pinpoint}/base.js +12 -14
- package/lib/awsClients/pinpoint/errorHelpers.d.ts +5 -0
- package/lib/awsClients/pinpoint/errorHelpers.js +16 -0
- package/{lib-esm/AwsClients/Pinpoint → lib/awsClients/pinpoint}/getInAppMessages.d.ts +4 -3
- package/lib/awsClients/pinpoint/getInAppMessages.js +34 -0
- package/{lib-esm/AwsClients/Pinpoint → lib/awsClients/pinpoint}/putEvents.d.ts +4 -3
- package/lib/awsClients/pinpoint/putEvents.js +37 -0
- package/lib/{AwsClients/Pinpoint → awsClients/pinpoint}/updateEndpoint.d.ts +4 -3
- package/lib/awsClients/pinpoint/updateEndpoint.js +38 -0
- package/lib/clients/endpoints/getDnsSuffix.js +7 -29
- package/lib/clients/handlers/authenticated.js +5 -5
- package/lib/clients/handlers/fetch.js +41 -97
- 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/presignUrl.js +21 -55
- 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/types/http.d.ts +17 -1
- package/lib/clients/utils/memoization.js +3 -3
- package/lib/constants.d.ts +4 -0
- package/lib/constants.js +18 -0
- package/lib/{Util/Errors.d.ts → errors/AmplifyError.d.ts} +2 -9
- package/lib/errors/AmplifyError.js +26 -0
- package/lib/errors/PlatformNotSupportedError.d.ts +4 -0
- package/lib/errors/PlatformNotSupportedError.js +16 -0
- package/lib/errors/createAssertionFunction.d.ts +3 -0
- package/lib/errors/createAssertionFunction.js +19 -0
- package/lib/errors/errorHelpers.d.ts +2 -0
- package/lib/errors/errorHelpers.js +19 -0
- package/lib/errors/index.d.ts +4 -0
- package/lib/errors/index.js +13 -0
- package/lib/index.d.ts +7 -7
- package/lib/index.js +17 -16
- package/lib/libraryUtils.d.ts +20 -16
- package/lib/libraryUtils.js +60 -69
- package/lib/parseAWSExports.js +172 -35
- package/lib/providers/kinesis/types/index.d.ts +1 -0
- package/lib/providers/kinesis/types/index.js +19 -0
- package/lib/providers/kinesis/types/kinesis.d.ts +9 -0
- package/lib/providers/kinesis/types/kinesis.js +4 -0
- package/lib/providers/kinesis-firehose/types/index.d.ts +1 -0
- package/lib/providers/kinesis-firehose/types/index.js +4 -0
- package/lib/providers/kinesis-firehose/types/kinesis-firehose.d.ts +9 -0
- package/lib/providers/kinesis-firehose/types/kinesis-firehose.js +4 -0
- package/lib/providers/personalize/types/index.d.ts +1 -0
- package/lib/providers/personalize/types/index.js +4 -0
- package/lib/providers/personalize/types/personalize.d.ts +8 -0
- package/lib/providers/personalize/types/personalize.js +4 -0
- package/lib/providers/pinpoint/apis/flushEvents.d.ts +2 -0
- package/lib/providers/pinpoint/apis/flushEvents.js +21 -0
- package/lib/providers/pinpoint/apis/index.d.ts +1 -0
- package/lib/providers/pinpoint/apis/index.js +3 -1
- package/lib/providers/pinpoint/apis/record.d.ts +1 -1
- package/lib/providers/pinpoint/apis/record.js +58 -109
- package/lib/providers/pinpoint/apis/updateEndpoint.d.ts +1 -1
- package/lib/providers/pinpoint/apis/updateEndpoint.js +65 -110
- package/lib/providers/pinpoint/index.d.ts +2 -1
- package/lib/providers/pinpoint/index.js +5 -0
- package/lib/providers/pinpoint/types/errors.d.ts +9 -0
- package/lib/providers/pinpoint/types/errors.js +15 -0
- package/lib/providers/pinpoint/types/index.d.ts +1 -0
- package/lib/providers/pinpoint/types/index.js +3 -0
- package/lib/providers/pinpoint/types/pinpoint.d.ts +7 -4
- package/lib/providers/pinpoint/utils/PinpointEventBuffer.d.ts +1 -0
- package/lib/providers/pinpoint/utils/PinpointEventBuffer.js +111 -197
- 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/index.d.ts +1 -0
- package/lib/providers/pinpoint/utils/index.js +3 -1
- package/lib/providers/pinpoint/utils/isAppInForeground.d.ts +1 -0
- package/lib/{RNComponents → providers/pinpoint/utils}/isAppInForeground.js +1 -4
- package/lib/providers/pinpoint/utils/isAppInForeground.native.d.ts +1 -0
- package/lib/providers/pinpoint/utils/isAppInForeground.native.js +9 -0
- package/lib/providers/pinpoint/utils/resolveEndpointId.d.ts +8 -0
- package/lib/providers/pinpoint/utils/resolveEndpointId.js +34 -0
- package/lib/singleton/API/types.d.ts +73 -0
- package/lib/singleton/API/types.js +2 -0
- package/lib/singleton/Amplify.d.ts +2 -2
- package/lib/singleton/Amplify.js +34 -93
- package/lib/singleton/Analytics/types.d.ts +4 -1
- package/lib/singleton/Auth/index.js +48 -115
- package/lib/singleton/Auth/types.d.ts +31 -4
- package/lib/singleton/Auth/utils/errorHelpers.d.ts +8 -0
- package/lib/singleton/Auth/utils/errorHelpers.js +32 -0
- package/lib/singleton/Auth/utils/index.d.ts +1 -1
- package/lib/singleton/Auth/utils/index.js +30 -46
- package/lib/singleton/Cache/types.d.ts +18 -0
- package/lib/singleton/Cache/types.js +4 -0
- package/lib/singleton/Geo/types.d.ts +17 -0
- package/lib/singleton/Geo/types.js +4 -0
- package/lib/singleton/Interactions/types.d.ts +21 -0
- package/lib/singleton/Interactions/types.js +4 -0
- package/lib/singleton/Notifications/InAppMessaging/types.d.ts +2 -0
- package/lib/singleton/Notifications/InAppMessaging/types.js +4 -0
- package/lib/singleton/Notifications/PushNotification/types.d.ts +2 -0
- package/lib/singleton/Notifications/PushNotification/types.js +4 -0
- package/lib/singleton/Notifications/types.d.ts +6 -0
- package/lib/singleton/Notifications/types.js +4 -0
- 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 +12 -1
- package/{lib-esm/StorageHelper/cookieStorage.d.ts → lib/storage/CookieStorage.d.ts} +4 -3
- package/lib/storage/CookieStorage.js +52 -0
- package/lib/storage/CookieStorage.native.d.ts +7 -0
- package/lib/storage/CookieStorage.native.js +15 -0
- package/lib/storage/DefaultStorage.d.ts +7 -0
- package/lib/storage/DefaultStorage.js +16 -0
- package/{lib-esm/StorageHelper/localStorage.d.ts → lib/storage/DefaultStorage.native.d.ts} +6 -5
- package/lib/storage/DefaultStorage.native.js +50 -0
- package/lib/storage/InMemoryStorage.d.ts +12 -0
- package/lib/storage/InMemoryStorage.js +35 -0
- package/lib/{StorageHelper/sessionStorage.d.ts → storage/KeyValueStorage.d.ts} +5 -4
- package/lib/storage/KeyValueStorage.js +56 -0
- package/lib/storage/SessionStorage.d.ts +7 -0
- package/lib/storage/SessionStorage.js +16 -0
- package/lib/storage/index.d.ts +7 -0
- package/lib/storage/index.js +14 -0
- package/lib/storage/utils.d.ts +10 -0
- package/lib/storage/utils.js +22 -0
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/lib/types/core.d.ts +4 -1
- package/lib/types/errors.d.ts +9 -3
- package/lib/types/errors.js +7 -0
- package/lib/types/storage.d.ts +3 -0
- package/lib/utils/amplifyUrl/index.d.ts +13 -0
- package/lib/utils/amplifyUrl/index.js +10 -0
- package/lib/utils/amplifyUrl/polyfill.d.ts +0 -0
- package/lib/utils/amplifyUrl/polyfill.js +4 -0
- package/lib/utils/amplifyUrl/polyfill.native.d.ts +1 -0
- package/lib/utils/amplifyUrl/polyfill.native.js +6 -0
- package/lib/utils/amplifyUuid/index.d.ts +3 -0
- package/lib/utils/amplifyUuid/index.js +9 -0
- package/lib/utils/amplifyUuid/polyfill.d.ts +0 -0
- package/lib/utils/amplifyUuid/polyfill.js +4 -0
- package/lib/utils/amplifyUuid/polyfill.native.d.ts +1 -0
- package/lib/utils/amplifyUuid/polyfill.native.js +6 -0
- package/lib/utils/convert/base64/base64Decoder.d.ts +2 -0
- package/lib/utils/convert/base64/base64Decoder.js +11 -0
- package/lib/utils/convert/base64/base64Encoder.d.ts +2 -0
- package/lib/utils/convert/base64/base64Encoder.js +17 -0
- package/lib/utils/convert/base64/bytesToString.d.ts +1 -0
- package/lib/utils/convert/base64/bytesToString.js +9 -0
- package/lib/utils/convert/index.d.ts +2 -0
- package/lib/utils/convert/index.js +9 -0
- package/lib/utils/convert/types.d.ts +9 -0
- package/lib/utils/convert/types.js +4 -0
- package/lib/utils/deepFreeze.d.ts +1 -0
- package/lib/utils/deepFreeze.js +16 -0
- package/lib/utils/generateRandomString.d.ts +1 -0
- package/lib/utils/generateRandomString.js +14 -0
- package/lib/{ClientDevice/android.d.ts → utils/getClientInfo/getClientInfo.android.d.ts} +1 -1
- package/lib/{ClientDevice/android.js → utils/getClientInfo/getClientInfo.android.js} +9 -9
- package/{lib-esm/ClientDevice/browser.d.ts → lib/utils/getClientInfo/getClientInfo.d.ts} +1 -9
- package/lib/{ClientDevice/ios.d.ts → utils/getClientInfo/getClientInfo.ios.d.ts} +1 -1
- package/lib/{ClientDevice/ios.js → utils/getClientInfo/getClientInfo.ios.js} +14 -14
- package/lib/utils/getClientInfo/getClientInfo.js +68 -0
- package/lib/utils/getClientInfo/index.d.ts +1 -0
- package/lib/utils/getClientInfo/index.js +7 -0
- package/lib/utils/globalHelpers/index.d.ts +3 -0
- package/lib/utils/globalHelpers/index.js +50 -0
- package/lib/utils/globalHelpers/index.native.d.ts +3 -0
- package/lib/utils/globalHelpers/index.native.js +28 -0
- package/lib/utils/index.d.ts +8 -0
- package/lib/utils/index.js +25 -0
- package/lib/utils/isBrowser.d.ts +1 -0
- package/lib/utils/isBrowser.js +7 -0
- package/lib/utils/isWebWorker.d.ts +1 -0
- package/lib/utils/isWebWorker.js +14 -0
- package/lib/utils/retry/NonRetryableError.d.ts +4 -0
- package/lib/utils/retry/NonRetryableError.js +12 -0
- package/lib/utils/retry/constants.d.ts +1 -0
- package/lib/utils/retry/constants.js +6 -0
- package/lib/utils/retry/index.d.ts +5 -0
- package/lib/utils/retry/index.js +15 -0
- package/lib/utils/retry/isNonRetryableError.d.ts +2 -0
- package/lib/utils/retry/isNonRetryableError.js +10 -0
- package/lib/utils/retry/jitteredBackoff.d.ts +6 -0
- package/lib/utils/retry/jitteredBackoff.js +19 -0
- package/lib/utils/retry/jitteredExponentialRetry.d.ts +5 -0
- package/lib/utils/retry/jitteredExponentialRetry.js +14 -0
- package/lib/utils/retry/retry.d.ts +6 -0
- package/lib/utils/retry/retry.js +64 -0
- package/lib/utils/sessionListener/SessionListener.d.ts +10 -0
- package/lib/utils/sessionListener/SessionListener.js +53 -0
- package/lib/utils/sessionListener/SessionListener.native.d.ts +10 -0
- package/lib/utils/sessionListener/SessionListener.native.js +50 -0
- package/lib/utils/sessionListener/constants.d.ts +2 -0
- package/lib/utils/sessionListener/constants.js +8 -0
- package/lib/utils/sessionListener/index.d.ts +3 -0
- package/lib/utils/sessionListener/index.js +10 -0
- package/lib/utils/sessionListener/types.d.ts +6 -0
- package/lib/utils/sessionListener/types.js +4 -0
- package/lib/utils/urlSafeDecode.d.ts +1 -0
- package/lib/utils/urlSafeDecode.js +10 -0
- package/lib/utils/urlSafeEncode.d.ts +1 -0
- package/lib/utils/urlSafeEncode.js +12 -0
- package/lib-esm/BackgroundProcessManager/BackgroundManagerNotOpenError.d.ts +3 -0
- package/lib-esm/BackgroundProcessManager/BackgroundManagerNotOpenError.js +7 -0
- package/lib-esm/{Util → BackgroundProcessManager}/BackgroundProcessManager.d.ts +1 -23
- package/lib-esm/BackgroundProcessManager/BackgroundProcessManager.js +283 -0
- package/lib-esm/BackgroundProcessManager/index.d.ts +1 -0
- package/lib-esm/BackgroundProcessManager/index.js +3 -0
- package/lib-esm/BackgroundProcessManager/types.d.ts +41 -0
- package/lib-esm/BackgroundProcessManager/types.js +20 -0
- package/lib-esm/Cache/StorageCache.d.ts +14 -31
- package/lib-esm/Cache/StorageCache.js +40 -106
- package/lib-esm/Cache/StorageCache.native.d.ts +19 -0
- package/lib-esm/Cache/StorageCache.native.js +58 -0
- package/lib-esm/Cache/{AsyncStorageCache.d.ts → StorageCacheCommon.d.ts} +124 -99
- package/lib-esm/Cache/StorageCacheCommon.js +464 -0
- package/lib-esm/Cache/constants.d.ts +6 -0
- package/lib-esm/Cache/constants.js +14 -0
- package/lib-esm/Cache/index.d.ts +2 -0
- package/lib-esm/Cache/index.js +4 -0
- package/lib-esm/Cache/types/cache.d.ts +38 -0
- package/lib-esm/Cache/types/index.d.ts +1 -1
- package/lib-esm/Cache/types/index.js +1 -1
- package/lib-esm/Cache/{Utils → utils}/CacheList.d.ts +1 -1
- package/lib-esm/Cache/{Utils → utils}/CacheList.js +46 -84
- package/lib-esm/Cache/utils/cacheHelpers.d.ts +14 -0
- package/lib-esm/Cache/utils/cacheHelpers.js +42 -0
- package/lib-esm/Cache/utils/errorHelpers.d.ts +7 -0
- package/lib-esm/Cache/utils/errorHelpers.js +21 -0
- package/lib-esm/Cache/utils/index.d.ts +2 -0
- package/lib-esm/Cache/utils/index.js +4 -0
- package/lib-esm/Hub/index.d.ts +7 -0
- package/lib-esm/Hub/index.js +42 -76
- package/lib-esm/Hub/types/AuthTypes.d.ts +19 -0
- package/lib-esm/I18n/I18n.d.ts +3 -19
- package/lib-esm/I18n/I18n.js +24 -60
- package/lib-esm/I18n/errorHelpers.d.ts +5 -0
- package/lib-esm/I18n/errorHelpers.js +13 -0
- package/lib-esm/I18n/index.d.ts +3 -15
- package/lib-esm/I18n/index.js +26 -55
- package/lib-esm/I18n/types.d.ts +1 -4
- package/lib-esm/I18n/types.js +3 -8
- package/lib-esm/Logger/ConsoleLogger.js +53 -129
- package/{lib/Util → lib-esm/Mutex}/Mutex.d.ts +2 -15
- package/lib-esm/{Util → Mutex}/Mutex.js +15 -20
- package/lib-esm/Mutex/index.d.ts +1 -0
- package/lib-esm/Mutex/index.js +3 -0
- package/lib-esm/Mutex/types.d.ts +13 -0
- package/lib-esm/Platform/customUserAgent.d.ts +16 -0
- package/lib-esm/Platform/customUserAgent.js +52 -0
- 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 +30 -50
- package/lib-esm/Platform/types.d.ts +75 -8
- package/lib-esm/Platform/types.js +40 -39
- package/lib-esm/Platform/version.d.ts +1 -1
- package/lib-esm/Platform/version.js +1 -1
- package/lib-esm/Reachability/Reachability.d.ts +7 -0
- package/lib-esm/Reachability/Reachability.js +39 -0
- package/lib-esm/Reachability/Reachability.native.d.ts +6 -0
- package/lib-esm/{Util → Reachability}/Reachability.native.js +11 -16
- package/lib-esm/Reachability/index.d.ts +1 -0
- package/lib-esm/Reachability/index.js +3 -0
- package/lib-esm/Reachability/types.d.ts +3 -0
- package/lib-esm/Reachability/types.js +3 -0
- package/lib-esm/ServiceWorker/ServiceWorker.js +78 -105
- package/lib-esm/ServiceWorker/errorHelpers.d.ts +7 -0
- package/lib-esm/ServiceWorker/errorHelpers.js +21 -0
- package/lib-esm/ServiceWorker/index.d.ts +0 -12
- package/lib-esm/ServiceWorker/index.js +0 -12
- package/lib-esm/{Util → Signer}/DateUtils.js +11 -28
- package/lib-esm/Signer/Signer.js +124 -0
- package/lib-esm/Signer/index.d.ts +1 -0
- package/lib-esm/Signer/index.js +3 -0
- package/lib-esm/adapterCore/error/AmplifyServerContextError.d.ts +1 -1
- package/lib-esm/adapterCore/error/AmplifyServerContextError.js +9 -28
- 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 +62 -0
- package/lib-esm/{AwsClients/CognitoIdentity → awsClients/cognitoIdentity}/getCredentialsForIdentity.d.ts +2 -1
- package/lib-esm/awsClients/cognitoIdentity/getCredentialsForIdentity.js +36 -0
- package/lib-esm/{AwsClients/CognitoIdentity → awsClients/cognitoIdentity}/getId.d.ts +2 -1
- package/lib-esm/awsClients/cognitoIdentity/getId.js +27 -0
- package/lib-esm/awsClients/cognitoIdentity/types.js +3 -0
- package/lib-esm/{AwsClients/Pinpoint → awsClients/pinpoint}/base.js +9 -11
- package/lib-esm/awsClients/pinpoint/errorHelpers.d.ts +5 -0
- package/lib-esm/awsClients/pinpoint/errorHelpers.js +13 -0
- package/{lib/AwsClients/Pinpoint → lib-esm/awsClients/pinpoint}/getInAppMessages.d.ts +4 -3
- package/lib-esm/awsClients/pinpoint/getInAppMessages.js +31 -0
- package/{lib/AwsClients/Pinpoint → lib-esm/awsClients/pinpoint}/putEvents.d.ts +4 -3
- package/lib-esm/awsClients/pinpoint/putEvents.js +34 -0
- package/lib-esm/{AwsClients/Pinpoint → awsClients/pinpoint}/updateEndpoint.d.ts +4 -3
- package/lib-esm/awsClients/pinpoint/updateEndpoint.js +35 -0
- 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 -96
- 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 +5 -5
- 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/presignUrl.js +18 -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/types/http.d.ts +17 -1
- package/lib-esm/clients/utils/memoization.js +3 -3
- package/lib-esm/constants.d.ts +4 -0
- package/lib-esm/constants.js +15 -0
- package/lib-esm/{Util/Errors.d.ts → errors/AmplifyError.d.ts} +2 -9
- package/lib-esm/errors/AmplifyError.js +22 -0
- package/lib-esm/errors/PlatformNotSupportedError.d.ts +4 -0
- package/lib-esm/errors/PlatformNotSupportedError.js +12 -0
- package/lib-esm/errors/createAssertionFunction.d.ts +3 -0
- package/lib-esm/errors/createAssertionFunction.js +15 -0
- package/lib-esm/errors/errorHelpers.d.ts +2 -0
- package/lib-esm/errors/errorHelpers.js +16 -0
- package/lib-esm/errors/index.d.ts +4 -0
- package/lib-esm/errors/index.js +6 -0
- package/lib-esm/index.d.ts +7 -7
- package/lib-esm/index.js +7 -6
- package/lib-esm/libraryUtils.d.ts +20 -16
- package/lib-esm/libraryUtils.js +21 -18
- package/lib-esm/parseAWSExports.js +171 -34
- package/lib-esm/providers/kinesis/types/index.d.ts +1 -0
- package/lib-esm/providers/kinesis/types/index.js +3 -0
- package/lib-esm/providers/kinesis/types/kinesis.d.ts +9 -0
- package/lib-esm/providers/kinesis/types/kinesis.js +3 -0
- package/lib-esm/providers/kinesis-firehose/types/index.d.ts +1 -0
- package/lib-esm/providers/kinesis-firehose/types/index.js +3 -0
- package/lib-esm/providers/kinesis-firehose/types/kinesis-firehose.d.ts +9 -0
- package/lib-esm/providers/kinesis-firehose/types/kinesis-firehose.js +3 -0
- package/lib-esm/providers/personalize/types/index.d.ts +1 -0
- package/lib-esm/providers/personalize/types/index.js +3 -0
- package/lib-esm/providers/personalize/types/personalize.d.ts +8 -0
- package/lib-esm/providers/personalize/types/personalize.js +3 -0
- package/lib-esm/providers/pinpoint/apis/flushEvents.d.ts +2 -0
- package/lib-esm/providers/pinpoint/apis/flushEvents.js +17 -0
- package/lib-esm/providers/pinpoint/apis/index.d.ts +1 -0
- package/lib-esm/providers/pinpoint/apis/index.js +1 -0
- package/lib-esm/providers/pinpoint/apis/record.d.ts +1 -1
- package/lib-esm/providers/pinpoint/apis/record.js +56 -107
- package/lib-esm/providers/pinpoint/apis/updateEndpoint.d.ts +1 -1
- package/lib-esm/providers/pinpoint/apis/updateEndpoint.js +64 -109
- package/lib-esm/providers/pinpoint/index.d.ts +2 -1
- package/lib-esm/providers/pinpoint/index.js +2 -0
- package/lib-esm/providers/pinpoint/types/errors.d.ts +9 -0
- package/lib-esm/providers/pinpoint/types/errors.js +12 -0
- package/lib-esm/providers/pinpoint/types/index.d.ts +1 -0
- package/lib-esm/providers/pinpoint/types/index.js +1 -0
- package/lib-esm/providers/pinpoint/types/pinpoint.d.ts +7 -4
- package/lib-esm/providers/pinpoint/utils/PinpointEventBuffer.d.ts +1 -0
- package/lib-esm/providers/pinpoint/utils/PinpointEventBuffer.js +110 -197
- 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/index.d.ts +1 -0
- package/lib-esm/providers/pinpoint/utils/index.js +1 -0
- package/lib-esm/providers/pinpoint/utils/isAppInForeground.js +3 -0
- package/lib-esm/providers/pinpoint/utils/isAppInForeground.native.js +5 -0
- package/lib-esm/providers/pinpoint/utils/resolveEndpointId.d.ts +8 -0
- package/lib-esm/providers/pinpoint/utils/resolveEndpointId.js +30 -0
- package/lib-esm/singleton/API/types.d.ts +73 -0
- package/lib-esm/singleton/API/types.js +1 -0
- package/lib-esm/singleton/Amplify.d.ts +2 -2
- package/lib-esm/singleton/Amplify.js +32 -92
- package/lib-esm/singleton/Analytics/types.d.ts +4 -1
- package/lib-esm/singleton/Auth/index.js +48 -116
- package/lib-esm/singleton/Auth/types.d.ts +31 -4
- package/lib-esm/singleton/Auth/utils/errorHelpers.d.ts +8 -0
- package/lib-esm/singleton/Auth/utils/errorHelpers.js +29 -0
- package/lib-esm/singleton/Auth/utils/index.d.ts +1 -1
- package/lib-esm/singleton/Auth/utils/index.js +28 -44
- package/lib-esm/singleton/Cache/types.d.ts +18 -0
- package/lib-esm/singleton/Cache/types.js +3 -0
- package/lib-esm/singleton/Geo/types.d.ts +17 -0
- package/lib-esm/singleton/Geo/types.js +3 -0
- package/lib-esm/singleton/Interactions/types.d.ts +21 -0
- package/lib-esm/singleton/Interactions/types.js +3 -0
- package/lib-esm/singleton/Notifications/InAppMessaging/types.d.ts +2 -0
- package/lib-esm/singleton/Notifications/InAppMessaging/types.js +3 -0
- package/lib-esm/singleton/Notifications/PushNotification/types.d.ts +2 -0
- package/lib-esm/singleton/Notifications/PushNotification/types.js +3 -0
- package/lib-esm/singleton/Notifications/types.d.ts +6 -0
- package/lib-esm/singleton/Notifications/types.js +3 -0
- 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 +12 -1
- package/{lib/StorageHelper/cookieStorage.d.ts → lib-esm/storage/CookieStorage.d.ts} +4 -3
- package/lib-esm/storage/CookieStorage.js +45 -0
- package/lib-esm/storage/CookieStorage.native.d.ts +7 -0
- package/lib-esm/storage/CookieStorage.native.js +11 -0
- package/lib-esm/storage/DefaultStorage.d.ts +7 -0
- package/lib-esm/storage/DefaultStorage.js +12 -0
- package/{lib/StorageHelper/localStorage.d.ts → lib-esm/storage/DefaultStorage.native.d.ts} +6 -5
- package/lib-esm/storage/DefaultStorage.native.js +46 -0
- package/lib-esm/storage/InMemoryStorage.d.ts +12 -0
- package/lib-esm/storage/InMemoryStorage.js +31 -0
- package/lib-esm/{StorageHelper/sessionStorage.d.ts → storage/KeyValueStorage.d.ts} +5 -4
- package/lib-esm/storage/KeyValueStorage.js +52 -0
- package/lib-esm/storage/SessionStorage.d.ts +7 -0
- package/lib-esm/storage/SessionStorage.js +12 -0
- package/lib-esm/storage/index.d.ts +7 -0
- package/lib-esm/storage/index.js +10 -0
- package/lib-esm/storage/utils.d.ts +10 -0
- package/lib-esm/storage/utils.js +17 -0
- package/lib-esm/tsconfig.tsbuildinfo +1 -1
- package/lib-esm/types/core.d.ts +4 -1
- package/lib-esm/types/errors.d.ts +9 -3
- package/lib-esm/types/errors.js +6 -1
- package/lib-esm/types/storage.d.ts +3 -0
- package/lib-esm/utils/amplifyUrl/index.d.ts +13 -0
- package/lib-esm/utils/amplifyUrl/index.js +6 -0
- package/lib-esm/utils/amplifyUrl/polyfill.d.ts +0 -0
- package/lib-esm/utils/amplifyUrl/polyfill.js +4 -0
- package/lib-esm/utils/amplifyUrl/polyfill.native.d.ts +1 -0
- package/lib-esm/utils/amplifyUrl/polyfill.native.js +4 -0
- package/lib-esm/utils/amplifyUuid/index.d.ts +3 -0
- package/lib-esm/utils/amplifyUuid/index.js +6 -0
- package/lib-esm/utils/amplifyUuid/polyfill.d.ts +0 -0
- package/lib-esm/utils/amplifyUuid/polyfill.js +4 -0
- package/lib-esm/utils/amplifyUuid/polyfill.native.d.ts +1 -0
- package/lib-esm/utils/amplifyUuid/polyfill.native.js +4 -0
- package/lib-esm/utils/convert/base64/base64Decoder.d.ts +2 -0
- package/lib-esm/utils/convert/base64/base64Decoder.js +8 -0
- package/lib-esm/utils/convert/base64/base64Encoder.d.ts +2 -0
- package/lib-esm/utils/convert/base64/base64Encoder.js +14 -0
- package/lib-esm/utils/convert/base64/bytesToString.d.ts +1 -0
- package/lib-esm/utils/convert/base64/bytesToString.js +5 -0
- package/lib-esm/utils/convert/index.d.ts +2 -0
- package/lib-esm/utils/convert/index.js +4 -0
- package/lib-esm/utils/convert/types.d.ts +9 -0
- package/lib-esm/utils/convert/types.js +3 -0
- package/lib-esm/utils/deepFreeze.d.ts +1 -0
- package/lib-esm/utils/deepFreeze.js +12 -0
- package/lib-esm/utils/generateRandomString.d.ts +1 -0
- package/lib-esm/utils/generateRandomString.js +10 -0
- package/lib-esm/{ClientDevice/android.d.ts → utils/getClientInfo/getClientInfo.android.d.ts} +1 -1
- package/lib-esm/{ClientDevice/android.js → utils/getClientInfo/getClientInfo.android.js} +6 -6
- package/{lib/ClientDevice/browser.d.ts → lib-esm/utils/getClientInfo/getClientInfo.d.ts} +1 -9
- package/lib-esm/{ClientDevice/ios.d.ts → utils/getClientInfo/getClientInfo.ios.d.ts} +1 -1
- package/lib-esm/{ClientDevice/ios.js → utils/getClientInfo/getClientInfo.ios.js} +11 -11
- package/lib-esm/{ClientDevice/browser.js → utils/getClientInfo/getClientInfo.js} +18 -28
- package/lib-esm/utils/getClientInfo/index.d.ts +1 -0
- package/lib-esm/utils/getClientInfo/index.js +3 -0
- package/lib-esm/utils/globalHelpers/index.d.ts +3 -0
- package/lib-esm/utils/globalHelpers/index.js +44 -0
- package/lib-esm/utils/globalHelpers/index.native.d.ts +3 -0
- package/lib-esm/utils/globalHelpers/index.native.js +22 -0
- package/lib-esm/utils/index.d.ts +8 -0
- package/lib-esm/utils/index.js +10 -0
- package/lib-esm/utils/isBrowser.d.ts +1 -0
- package/lib-esm/utils/isBrowser.js +3 -0
- package/lib-esm/utils/isWebWorker.d.ts +1 -0
- package/lib-esm/utils/isWebWorker.js +10 -0
- package/lib-esm/utils/retry/NonRetryableError.d.ts +4 -0
- package/lib-esm/utils/retry/NonRetryableError.js +8 -0
- package/lib-esm/utils/retry/constants.d.ts +1 -0
- package/lib-esm/utils/retry/constants.js +3 -0
- package/lib-esm/utils/retry/index.d.ts +5 -0
- package/lib-esm/utils/retry/index.js +7 -0
- package/lib-esm/utils/retry/isNonRetryableError.d.ts +2 -0
- package/lib-esm/utils/retry/isNonRetryableError.js +6 -0
- package/lib-esm/utils/retry/jitteredBackoff.d.ts +6 -0
- package/lib-esm/utils/retry/jitteredBackoff.js +15 -0
- package/lib-esm/utils/retry/jitteredExponentialRetry.d.ts +5 -0
- package/lib-esm/utils/retry/jitteredExponentialRetry.js +10 -0
- package/lib-esm/utils/retry/retry.d.ts +6 -0
- package/lib-esm/utils/retry/retry.js +60 -0
- package/lib-esm/utils/sessionListener/SessionListener.d.ts +10 -0
- package/lib-esm/utils/sessionListener/SessionListener.js +49 -0
- package/lib-esm/utils/sessionListener/SessionListener.native.d.ts +10 -0
- package/lib-esm/utils/sessionListener/SessionListener.native.js +46 -0
- 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 +3 -0
- package/lib-esm/utils/sessionListener/index.js +5 -0
- package/lib-esm/utils/sessionListener/types.d.ts +6 -0
- package/lib-esm/utils/sessionListener/types.js +3 -0
- package/lib-esm/{Util/StringUtils.d.ts → utils/urlSafeDecode.d.ts} +0 -1
- package/lib-esm/utils/urlSafeDecode.js +6 -0
- package/{lib/Util/StringUtils.d.ts → lib-esm/utils/urlSafeEncode.d.ts} +0 -1
- package/lib-esm/utils/urlSafeEncode.js +8 -0
- package/package.json +18 -45
- package/src/BackgroundProcessManager/BackgroundManagerNotOpenError.ts +8 -0
- package/src/{Util → BackgroundProcessManager}/BackgroundProcessManager.ts +4 -58
- package/src/BackgroundProcessManager/index.ts +4 -0
- package/src/BackgroundProcessManager/types.ts +49 -0
- package/src/Cache/StorageCache.native.ts +65 -0
- package/src/Cache/StorageCache.ts +61 -158
- package/src/Cache/StorageCacheCommon.ts +577 -0
- package/src/Cache/constants.ts +18 -0
- package/src/Cache/index.ts +6 -0
- package/src/Cache/types/cache.ts +51 -0
- package/src/Cache/types/index.ts +1 -1
- package/src/Cache/{Utils → utils}/CacheList.ts +185 -198
- package/src/Cache/utils/cacheHelpers.ts +52 -0
- package/src/Cache/utils/errorHelpers.ts +26 -0
- package/src/Cache/{Utils → utils}/index.ts +4 -5
- package/src/Hub/index.ts +11 -2
- package/src/Hub/types/AuthTypes.ts +12 -1
- package/src/I18n/I18n.ts +4 -25
- package/src/I18n/errorHelpers.ts +18 -0
- package/src/I18n/index.ts +9 -33
- package/src/I18n/types.ts +1 -4
- package/src/Logger/ConsoleLogger.ts +1 -1
- package/src/{Util → Mutex}/Mutex.ts +2 -20
- package/src/Mutex/index.ts +4 -0
- package/src/Mutex/types.ts +20 -0
- package/src/Platform/customUserAgent.ts +75 -0
- package/src/Platform/index.ts +14 -1
- package/src/Platform/types.ts +84 -39
- package/src/Platform/version.ts +1 -1
- package/src/{Util → Reachability}/Reachability.native.ts +7 -12
- package/src/Reachability/Reachability.ts +55 -0
- package/src/Reachability/index.ts +4 -0
- package/src/Reachability/types.ts +6 -0
- package/src/ServiceWorker/ServiceWorker.ts +39 -48
- package/src/ServiceWorker/errorHelpers.ts +26 -0
- package/src/ServiceWorker/index.ts +0 -12
- package/src/{Util → Signer}/DateUtils.ts +1 -1
- package/src/{Signer.ts → Signer/Signer.ts} +5 -4
- package/src/Signer/index.ts +4 -0
- package/src/adapterCore/error/AmplifyServerContextError.ts +1 -1
- package/src/{AwsClients/CognitoIdentity → awsClients/cognitoIdentity}/base.ts +4 -1
- package/src/{AwsClients/Pinpoint → awsClients/pinpoint}/base.ts +2 -1
- package/src/awsClients/pinpoint/errorHelpers.ts +19 -0
- package/src/{AwsClients/Pinpoint → awsClients/pinpoint}/getInAppMessages.ts +2 -1
- package/src/{AwsClients/Pinpoint → awsClients/pinpoint}/putEvents.ts +4 -7
- package/src/{AwsClients/Pinpoint → awsClients/pinpoint}/updateEndpoint.ts +2 -1
- package/src/clients/handlers/fetch.ts +5 -1
- package/src/clients/middleware/retry/jitteredBackoff.ts +1 -1
- package/src/clients/middleware/signing/signer/signatureV4/presignUrl.ts +2 -1
- package/src/clients/types/http.ts +19 -1
- package/src/{Util/Constants.ts → constants.ts} +0 -11
- package/src/{Util/Errors.ts → errors/AmplifyError.ts} +2 -18
- package/src/errors/PlatformNotSupportedError.ts +14 -0
- package/src/errors/createAssertionFunction.ts +23 -0
- package/src/errors/errorHelpers.ts +20 -0
- package/src/errors/index.ts +7 -0
- package/src/index.ts +16 -11
- package/src/libraryUtils.ts +61 -57
- package/src/parseAWSExports.ts +214 -14
- package/src/providers/kinesis/types/index.ts +4 -0
- package/src/providers/kinesis/types/kinesis.ts +12 -0
- package/src/providers/kinesis-firehose/types/index.ts +4 -0
- package/src/providers/kinesis-firehose/types/kinesis-firehose.ts +12 -0
- package/src/providers/personalize/types/index.ts +4 -0
- package/src/providers/personalize/types/personalize.ts +11 -0
- package/src/providers/pinpoint/apis/flushEvents.ts +31 -0
- package/src/providers/pinpoint/apis/index.ts +1 -0
- package/src/providers/pinpoint/apis/record.ts +36 -33
- package/src/providers/pinpoint/apis/updateEndpoint.ts +26 -10
- package/src/providers/pinpoint/index.ts +6 -1
- package/src/providers/pinpoint/types/errors.ts +12 -0
- package/src/providers/pinpoint/types/index.ts +1 -0
- package/src/providers/pinpoint/types/pinpoint.ts +7 -3
- package/src/providers/pinpoint/utils/PinpointEventBuffer.ts +21 -13
- package/src/providers/pinpoint/utils/index.ts +1 -0
- package/src/providers/pinpoint/utils/isAppInForeground.native.ts +7 -0
- package/src/providers/pinpoint/utils/isAppInForeground.ts +4 -0
- package/src/providers/pinpoint/utils/resolveEndpointId.ts +46 -0
- package/src/singleton/API/types.ts +90 -0
- package/src/singleton/Amplify.ts +10 -8
- package/src/singleton/Analytics/types.ts +7 -1
- package/src/singleton/Auth/types.ts +53 -4
- package/src/singleton/Auth/utils/errorHelpers.ts +37 -0
- package/src/singleton/Auth/utils/index.ts +35 -38
- package/src/singleton/Cache/types.ts +27 -0
- package/src/singleton/Geo/types.ts +20 -0
- package/src/singleton/Interactions/types.ts +29 -0
- package/src/singleton/Notifications/InAppMessaging/types.ts +6 -0
- package/src/singleton/Notifications/PushNotification/types.ts +6 -0
- package/src/singleton/Notifications/types.ts +10 -0
- package/src/singleton/Predictions/types.ts +61 -0
- package/src/singleton/types.ts +15 -7
- package/src/storage/CookieStorage.native.ts +13 -0
- package/src/storage/CookieStorage.ts +68 -0
- package/src/storage/DefaultStorage.native.ts +58 -0
- package/src/storage/DefaultStorage.ts +14 -0
- package/src/storage/InMemoryStorage.ts +36 -0
- package/src/{StorageHelper/sessionStorage.ts → storage/KeyValueStorage.ts} +15 -18
- package/src/storage/SessionStorage.ts +14 -0
- package/src/storage/index.ts +13 -0
- package/src/storage/utils.ts +22 -0
- package/src/types/core.ts +4 -1
- package/src/types/errors.ts +15 -3
- package/src/types/storage.ts +4 -0
- package/src/utils/amplifyUrl/index.ts +9 -0
- package/src/utils/amplifyUrl/polyfill.native.ts +6 -0
- package/src/utils/amplifyUrl/polyfill.ts +4 -0
- package/src/utils/amplifyUuid/index.ts +9 -0
- package/src/utils/amplifyUuid/polyfill.native.ts +6 -0
- package/src/utils/amplifyUuid/polyfill.ts +4 -0
- package/src/utils/convert/base64/base64Decoder.ts +11 -0
- package/src/utils/convert/base64/base64Encoder.ts +18 -0
- package/src/utils/convert/base64/bytesToString.ts +6 -0
- package/src/utils/convert/index.ts +5 -0
- package/src/utils/convert/types.ts +17 -0
- package/src/utils/deepFreeze.ts +16 -0
- package/src/utils/generateRandomString.ts +16 -0
- package/src/{ClientDevice/android.ts → utils/getClientInfo/getClientInfo.android.ts} +2 -2
- package/src/{ClientDevice/ios.ts → utils/getClientInfo/getClientInfo.ios.ts} +3 -3
- package/src/{ClientDevice/browser.ts → utils/getClientInfo/getClientInfo.ts} +4 -16
- package/src/utils/getClientInfo/index.ts +4 -0
- package/src/utils/globalHelpers/index.native.ts +30 -0
- package/src/utils/globalHelpers/index.ts +54 -0
- package/src/utils/index.ts +17 -0
- package/src/utils/isBrowser.ts +5 -0
- package/src/utils/isWebWorker.ts +13 -0
- package/src/utils/retry/NonRetryableError.ts +9 -0
- package/src/utils/retry/constants.ts +4 -0
- package/src/utils/retry/index.ts +8 -0
- package/src/utils/retry/isNonRetryableError.ts +9 -0
- package/src/utils/retry/jitteredBackoff.ts +21 -0
- package/src/utils/retry/jitteredExponentialRetry.ts +18 -0
- package/src/{Util/Retry.ts → utils/retry/retry.ts} +4 -44
- package/src/utils/sessionListener/SessionListener.native.ts +70 -0
- package/src/utils/sessionListener/SessionListener.ts +74 -0
- package/src/utils/sessionListener/constants.ts +6 -0
- package/src/utils/sessionListener/index.ts +7 -0
- package/src/utils/sessionListener/types.ts +11 -0
- package/src/{Util/StringUtils.ts → utils/urlSafeDecode.ts} +0 -6
- package/src/utils/urlSafeEncode.ts +9 -0
- package/lib/Amplify.d.ts +0 -29
- package/lib/Amplify.js +0 -118
- package/lib/AwsClients/CognitoIdentity/base.js +0 -114
- package/lib/AwsClients/CognitoIdentity/getCredentialsForIdentity.js +0 -83
- package/lib/AwsClients/CognitoIdentity/getId.js +0 -73
- package/lib/AwsClients/Pinpoint/getInAppMessages.js +0 -77
- package/lib/AwsClients/Pinpoint/putEvents.js +0 -84
- package/lib/AwsClients/Pinpoint/updateEndpoint.js +0 -81
- package/lib/Cache/AsyncStorageCache.js +0 -744
- package/lib/Cache/BrowserStorageCache.d.ts +0 -166
- package/lib/Cache/BrowserStorageCache.js +0 -469
- package/lib/Cache/InMemoryCache.d.ts +0 -129
- package/lib/Cache/InMemoryCache.js +0 -349
- package/lib/Cache/Utils/CacheList.js +0 -196
- package/lib/Cache/Utils/CacheUtils.d.ts +0 -25
- package/lib/Cache/Utils/CacheUtils.js +0 -88
- package/lib/Cache/Utils/index.d.ts +0 -2
- package/lib/Cache/Utils/index.js +0 -16
- package/lib/Cache/reactnative.d.ts +0 -3
- package/lib/Cache/reactnative.js +0 -8
- package/lib/Cache/types/Cache.d.ts +0 -55
- package/lib/ClientDevice/browser.js +0 -80
- package/lib/ClientDevice/index.d.ts +0 -23
- package/lib/ClientDevice/index.js +0 -18
- package/lib/ClientDevice/reactnative.d.ts +0 -7
- package/lib/ClientDevice/reactnative.js +0 -24
- package/lib/RNComponents/index.d.ts +0 -6
- package/lib/RNComponents/index.js +0 -16
- package/lib/RNComponents/reactnative.d.ts +0 -3
- package/lib/RNComponents/reactnative.js +0 -14
- package/lib/StorageHelper/cookieStorage.js +0 -167
- package/lib/StorageHelper/inMemoryStorage.d.ts +0 -10
- package/lib/StorageHelper/inMemoryStorage.js +0 -82
- package/lib/StorageHelper/index.d.ts +0 -45
- package/lib/StorageHelper/index.js +0 -83
- package/lib/StorageHelper/localStorage.js +0 -114
- package/lib/StorageHelper/reactnative.d.ts +0 -83
- package/lib/StorageHelper/reactnative.js +0 -250
- package/lib/StorageHelper/sessionStorage.js +0 -114
- package/lib/Util/BackgroundProcessManager.js +0 -449
- package/lib/Util/Constants.d.ts +0 -12
- package/lib/Util/Constants.js +0 -29
- package/lib/Util/Errors.js +0 -62
- package/lib/Util/JS.d.ts +0 -29
- package/lib/Util/JS.js +0 -214
- package/lib/Util/Reachability.d.ts +0 -13
- package/lib/Util/Reachability.js +0 -69
- package/lib/Util/Reachability.native.d.ts +0 -12
- package/lib/Util/Retry.d.ts +0 -21
- package/lib/Util/Retry.js +0 -205
- package/lib/Util/StringUtils.js +0 -17
- package/lib/Util/errors/AssertError.d.ts +0 -2
- package/lib/Util/errors/AssertError.js +0 -11
- package/lib/Util/index.d.ts +0 -7
- package/lib/Util/index.js +0 -31
- package/lib/clients/middleware/signing/signer/signatureV4/index.native.d.ts +0 -5
- package/lib/clients/middleware/signing/signer/signatureV4/index.native.js +0 -15
- package/lib-esm/Amplify.d.ts +0 -29
- package/lib-esm/Amplify.js +0 -115
- package/lib-esm/AwsClients/CognitoIdentity/base.js +0 -109
- package/lib-esm/AwsClients/CognitoIdentity/getCredentialsForIdentity.js +0 -80
- package/lib-esm/AwsClients/CognitoIdentity/getId.js +0 -70
- package/lib-esm/AwsClients/Pinpoint/getInAppMessages.js +0 -74
- package/lib-esm/AwsClients/Pinpoint/putEvents.js +0 -81
- package/lib-esm/AwsClients/Pinpoint/updateEndpoint.js +0 -78
- package/lib-esm/Cache/AsyncStorageCache.js +0 -737
- package/lib-esm/Cache/BrowserStorageCache.d.ts +0 -166
- package/lib-esm/Cache/BrowserStorageCache.js +0 -466
- package/lib-esm/Cache/InMemoryCache.d.ts +0 -129
- package/lib-esm/Cache/InMemoryCache.js +0 -346
- package/lib-esm/Cache/Utils/CacheUtils.d.ts +0 -25
- package/lib-esm/Cache/Utils/CacheUtils.js +0 -81
- package/lib-esm/Cache/Utils/index.d.ts +0 -2
- package/lib-esm/Cache/Utils/index.js +0 -4
- package/lib-esm/Cache/reactnative.d.ts +0 -3
- package/lib-esm/Cache/reactnative.js +0 -6
- package/lib-esm/Cache/types/Cache.d.ts +0 -55
- package/lib-esm/ClientDevice/index.d.ts +0 -23
- package/lib-esm/ClientDevice/index.js +0 -15
- package/lib-esm/ClientDevice/reactnative.d.ts +0 -7
- package/lib-esm/ClientDevice/reactnative.js +0 -21
- package/lib-esm/RNComponents/index.d.ts +0 -6
- package/lib-esm/RNComponents/index.js +0 -13
- package/lib-esm/RNComponents/isAppInForeground.js +0 -6
- package/lib-esm/RNComponents/reactnative.d.ts +0 -3
- package/lib-esm/RNComponents/reactnative.js +0 -6
- package/lib-esm/Signer.js +0 -127
- package/lib-esm/StorageHelper/cookieStorage.js +0 -141
- package/lib-esm/StorageHelper/inMemoryStorage.d.ts +0 -10
- package/lib-esm/StorageHelper/inMemoryStorage.js +0 -79
- package/lib-esm/StorageHelper/index.d.ts +0 -45
- package/lib-esm/StorageHelper/index.js +0 -76
- package/lib-esm/StorageHelper/localStorage.js +0 -111
- package/lib-esm/StorageHelper/reactnative.d.ts +0 -83
- package/lib-esm/StorageHelper/reactnative.js +0 -244
- package/lib-esm/StorageHelper/sessionStorage.js +0 -111
- package/lib-esm/Util/BackgroundProcessManager.js +0 -446
- package/lib-esm/Util/Constants.d.ts +0 -12
- package/lib-esm/Util/Constants.js +0 -26
- package/lib-esm/Util/Errors.js +0 -57
- package/lib-esm/Util/JS.d.ts +0 -29
- package/lib-esm/Util/JS.js +0 -199
- package/lib-esm/Util/Reachability.d.ts +0 -13
- package/lib-esm/Util/Reachability.js +0 -64
- package/lib-esm/Util/Reachability.native.d.ts +0 -12
- package/lib-esm/Util/Retry.d.ts +0 -21
- package/lib-esm/Util/Retry.js +0 -198
- package/lib-esm/Util/StringUtils.js +0 -12
- package/lib-esm/Util/errors/AssertError.d.ts +0 -2
- package/lib-esm/Util/errors/AssertError.js +0 -7
- package/lib-esm/Util/index.d.ts +0 -7
- package/lib-esm/Util/index.js +0 -9
- package/lib-esm/clients/middleware/signing/signer/signatureV4/index.native.d.ts +0 -5
- package/lib-esm/clients/middleware/signing/signer/signatureV4/index.native.js +0 -8
- package/polyfills/URL/index.ts +0 -14
- package/polyfills/URL/tsconfig.json +0 -10
- package/polyfills/URL/webpack.config.js +0 -43
- package/src/Amplify.ts +0 -106
- package/src/Cache/AsyncStorageCache.ts +0 -500
- package/src/Cache/BrowserStorageCache.ts +0 -517
- package/src/Cache/CHANGELOG.md +0 -1239
- package/src/Cache/InMemoryCache.ts +0 -354
- package/src/Cache/Utils/CacheUtils.ts +0 -92
- package/src/Cache/reactnative.ts +0 -9
- package/src/Cache/types/Cache.ts +0 -75
- package/src/ClientDevice/index.ts +0 -14
- package/src/ClientDevice/reactnative.ts +0 -18
- package/src/RNComponents/index.ts +0 -16
- package/src/RNComponents/isAppInForeground.ts +0 -8
- package/src/RNComponents/reactnative.ts +0 -6
- package/src/StorageHelper/cookieStorage.ts +0 -99
- package/src/StorageHelper/inMemoryStorage.ts +0 -32
- package/src/StorageHelper/index.ts +0 -78
- package/src/StorageHelper/localStorage.ts +0 -60
- package/src/StorageHelper/reactnative.ts +0 -182
- package/src/Util/JS.ts +0 -255
- package/src/Util/Reachability.ts +0 -58
- package/src/Util/errors/AssertError.ts +0 -11
- package/src/Util/index.ts +0 -23
- package/src/clients/middleware/signing/signer/signatureV4/index.native.ts +0 -10
- /package/lib/{AwsClients/CognitoIdentity/types.js → Cache/types/cache.js} +0 -0
- /package/lib/{Cache/types/Cache.js → Mutex/types.js} +0 -0
- /package/lib/{Util → Signer}/DateUtils.d.ts +0 -0
- /package/lib/{Signer.d.ts → Signer/Signer.d.ts} +0 -0
- /package/lib/{AwsClients/CognitoIdentity → awsClients/cognitoIdentity}/base.d.ts +0 -0
- /package/lib/{AwsClients/CognitoIdentity → awsClients/cognitoIdentity}/index.d.ts +0 -0
- /package/lib/{AwsClients/CognitoIdentity → awsClients/cognitoIdentity}/index.js +0 -0
- /package/lib/{AwsClients/CognitoIdentity → awsClients/cognitoIdentity}/types.d.ts +0 -0
- /package/lib/{AwsClients/Pinpoint → awsClients/pinpoint}/base.d.ts +0 -0
- /package/lib/{AwsClients/Pinpoint → awsClients/pinpoint}/index.d.ts +0 -0
- /package/lib/{AwsClients/Pinpoint → awsClients/pinpoint}/index.js +0 -0
- /package/lib/{AwsClients/Pinpoint → awsClients/pinpoint}/types.d.ts +0 -0
- /package/lib/{AwsClients/Pinpoint → awsClients/pinpoint}/types.js +0 -0
- /package/lib-esm/{AwsClients/CognitoIdentity/types.js → Cache/types/cache.js} +0 -0
- /package/lib-esm/{Cache/types/Cache.js → Mutex/types.js} +0 -0
- /package/lib-esm/{Util → Signer}/DateUtils.d.ts +0 -0
- /package/lib-esm/{Signer.d.ts → Signer/Signer.d.ts} +0 -0
- /package/lib-esm/{AwsClients/CognitoIdentity → awsClients/cognitoIdentity}/base.d.ts +0 -0
- /package/lib-esm/{AwsClients/CognitoIdentity → awsClients/cognitoIdentity}/index.d.ts +0 -0
- /package/lib-esm/{AwsClients/CognitoIdentity → awsClients/cognitoIdentity}/index.js +0 -0
- /package/lib-esm/{AwsClients/CognitoIdentity → awsClients/cognitoIdentity}/types.d.ts +0 -0
- /package/lib-esm/{AwsClients/Pinpoint → awsClients/pinpoint}/base.d.ts +0 -0
- /package/lib-esm/{AwsClients/Pinpoint → awsClients/pinpoint}/index.d.ts +0 -0
- /package/lib-esm/{AwsClients/Pinpoint → awsClients/pinpoint}/index.js +0 -0
- /package/lib-esm/{AwsClients/Pinpoint → awsClients/pinpoint}/types.d.ts +0 -0
- /package/lib-esm/{AwsClients/Pinpoint → awsClients/pinpoint}/types.js +0 -0
- /package/lib-esm/{RNComponents → providers/pinpoint/utils}/isAppInForeground.d.ts +0 -0
- /package/{lib/RNComponents/isAppInForeground.d.ts → lib-esm/providers/pinpoint/utils/isAppInForeground.native.d.ts} +0 -0
- /package/src/{AwsClients/CognitoIdentity → awsClients/cognitoIdentity}/getCredentialsForIdentity.ts +0 -0
- /package/src/{AwsClients/CognitoIdentity → awsClients/cognitoIdentity}/getId.ts +0 -0
- /package/src/{AwsClients/CognitoIdentity → awsClients/cognitoIdentity}/index.ts +0 -0
- /package/src/{AwsClients/CognitoIdentity → awsClients/cognitoIdentity}/types.ts +0 -0
- /package/src/{AwsClients/Pinpoint → awsClients/pinpoint}/index.ts +0 -0
- /package/src/{AwsClients/Pinpoint → awsClients/pinpoint}/types.ts +0 -0
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aws-amplify/core/internals/aws-clients/pinpoint",
|
|
3
|
-
"types": "../../../lib-esm/
|
|
4
|
-
"main": "../../../lib/
|
|
5
|
-
"module": "../../../lib-esm/
|
|
6
|
-
"react-native": "../../../lib-esm/
|
|
3
|
+
"types": "../../../lib-esm/awsClients/pinpoint/index.d.ts",
|
|
4
|
+
"main": "../../../lib/awsClients/pinpoint/index.js",
|
|
5
|
+
"module": "../../../lib-esm/awsClients/pinpoint/index.js",
|
|
6
|
+
"react-native": "../../../lib-esm/awsClients/pinpoint/index.js",
|
|
7
7
|
"sideEffects": false
|
|
8
8
|
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
3
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
4
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
+
exports.BackgroundManagerNotOpenError = void 0;
|
|
6
|
+
class BackgroundManagerNotOpenError extends Error {
|
|
7
|
+
constructor(message) {
|
|
8
|
+
super(`BackgroundManagerNotOpenError: ${message}`);
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
exports.BackgroundManagerNotOpenError = BackgroundManagerNotOpenError;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { BackgroundProcessManagerState } from './types';
|
|
1
2
|
/**
|
|
2
3
|
* @private For internal Amplify use.
|
|
3
4
|
*
|
|
@@ -179,26 +180,3 @@ export declare class BackgroundProcessManager {
|
|
|
179
180
|
*/
|
|
180
181
|
open(): Promise<void>;
|
|
181
182
|
}
|
|
182
|
-
/**
|
|
183
|
-
*
|
|
184
|
-
*/
|
|
185
|
-
export declare class BackgroundManagerNotOpenError extends Error {
|
|
186
|
-
constructor(message: string);
|
|
187
|
-
}
|
|
188
|
-
/**
|
|
189
|
-
* All possible states a `BackgroundProcessManager` instance can be in.
|
|
190
|
-
*/
|
|
191
|
-
export declare enum BackgroundProcessManagerState {
|
|
192
|
-
/**
|
|
193
|
-
* Accepting new jobs.
|
|
194
|
-
*/
|
|
195
|
-
Open = "Open",
|
|
196
|
-
/**
|
|
197
|
-
* Not accepting new jobs. Waiting for submitted jobs to complete.
|
|
198
|
-
*/
|
|
199
|
-
Closing = "Closing",
|
|
200
|
-
/**
|
|
201
|
-
* Not accepting new jobs. All submitted jobs are complete.
|
|
202
|
-
*/
|
|
203
|
-
Closed = "Closed"
|
|
204
|
-
}
|
|
@@ -0,0 +1,287 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
3
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
4
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
+
exports.BackgroundProcessManager = void 0;
|
|
6
|
+
const BackgroundManagerNotOpenError_1 = require("./BackgroundManagerNotOpenError");
|
|
7
|
+
const types_1 = require("./types");
|
|
8
|
+
/**
|
|
9
|
+
* @private For internal Amplify use.
|
|
10
|
+
*
|
|
11
|
+
* Creates a new scope for promises, observables, and other types of work or
|
|
12
|
+
* processes that may be running in the background. This manager provides
|
|
13
|
+
* an singular entrypoint to request termination and await completion.
|
|
14
|
+
*
|
|
15
|
+
* As work completes on its own prior to close, the manager removes them
|
|
16
|
+
* from the registry to avoid holding references to completed jobs.
|
|
17
|
+
*/
|
|
18
|
+
class BackgroundProcessManager {
|
|
19
|
+
/**
|
|
20
|
+
* Creates a new manager for promises, observables, and other types
|
|
21
|
+
* of work that may be running in the background. This manager provides
|
|
22
|
+
* a centralized mechanism to request termination and await completion.
|
|
23
|
+
*/
|
|
24
|
+
constructor() {
|
|
25
|
+
/**
|
|
26
|
+
* A string indicating whether the manager is accepting new work ("Open"),
|
|
27
|
+
* waiting for work to complete ("Closing"), or fully done with all
|
|
28
|
+
* submitted work and *not* accepting new jobs ("Closed").
|
|
29
|
+
*/
|
|
30
|
+
this._state = types_1.BackgroundProcessManagerState.Open;
|
|
31
|
+
/**
|
|
32
|
+
* The list of outstanding jobs we'll need to wait for upon `close()`
|
|
33
|
+
*/
|
|
34
|
+
this.jobs = new Set();
|
|
35
|
+
}
|
|
36
|
+
add(jobOrDescription, optionalDescription) {
|
|
37
|
+
let job;
|
|
38
|
+
let description;
|
|
39
|
+
if (typeof jobOrDescription === 'string') {
|
|
40
|
+
job = undefined;
|
|
41
|
+
description = jobOrDescription;
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
job = jobOrDescription;
|
|
45
|
+
description = optionalDescription;
|
|
46
|
+
}
|
|
47
|
+
const error = this.closedFailure(description);
|
|
48
|
+
if (error)
|
|
49
|
+
return error;
|
|
50
|
+
if (job === undefined) {
|
|
51
|
+
return this.addHook(description);
|
|
52
|
+
}
|
|
53
|
+
else if (typeof job === 'function') {
|
|
54
|
+
return this.addFunction(job, description);
|
|
55
|
+
}
|
|
56
|
+
else if (job instanceof BackgroundProcessManager) {
|
|
57
|
+
return this.addManager(job, description);
|
|
58
|
+
}
|
|
59
|
+
else {
|
|
60
|
+
throw new Error('If `job` is provided, it must be an Observable, Function, or BackgroundProcessManager.');
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Adds a **cleaner** function that doesn't immediately get executed.
|
|
65
|
+
* Instead, the caller gets a **terminate** function back. The *cleaner* is
|
|
66
|
+
* invoked only once the mananger *closes* or the returned **terminate**
|
|
67
|
+
* function is called.
|
|
68
|
+
*
|
|
69
|
+
* @param clean The cleanup function.
|
|
70
|
+
* @param description Optional description to help identify pending jobs.
|
|
71
|
+
* @returns A terminate function.
|
|
72
|
+
*/
|
|
73
|
+
addCleaner(clean, description) {
|
|
74
|
+
const { resolve, onTerminate } = this.addHook(description);
|
|
75
|
+
const proxy = async () => {
|
|
76
|
+
await clean();
|
|
77
|
+
resolve();
|
|
78
|
+
};
|
|
79
|
+
onTerminate.then(proxy);
|
|
80
|
+
return proxy;
|
|
81
|
+
}
|
|
82
|
+
addFunction(job, description) {
|
|
83
|
+
// the function we call when we want to try to terminate this job.
|
|
84
|
+
let terminate;
|
|
85
|
+
// the promise the job can opt into listening to for termination.
|
|
86
|
+
const onTerminate = new Promise(resolve => {
|
|
87
|
+
terminate = resolve;
|
|
88
|
+
});
|
|
89
|
+
// finally! start the job.
|
|
90
|
+
const jobResult = job(onTerminate);
|
|
91
|
+
// depending on what the job gives back, register the result
|
|
92
|
+
// so we can monitor for completion.
|
|
93
|
+
if (typeof jobResult?.then === 'function') {
|
|
94
|
+
this.registerPromise(jobResult, terminate, description);
|
|
95
|
+
}
|
|
96
|
+
// At the end of the day, or you know, method call, it doesn't matter
|
|
97
|
+
// what the return value is at all; we just pass it through to the
|
|
98
|
+
// caller.
|
|
99
|
+
return jobResult;
|
|
100
|
+
}
|
|
101
|
+
addManager(manager, description) {
|
|
102
|
+
this.addCleaner(async () => await manager.close(), description);
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Creates and registers a fabricated job for processes that need to operate
|
|
106
|
+
* with callbacks/hooks. The returned `resolve` and `reject`
|
|
107
|
+
* functions can be used to signal the job is done successfully or not.
|
|
108
|
+
* The returned `onTerminate` is a promise that will resolve when the
|
|
109
|
+
* manager is requesting the termination of the job.
|
|
110
|
+
*
|
|
111
|
+
* @param description Optional description to help identify pending jobs.
|
|
112
|
+
* @returns `{ resolve, reject, onTerminate }`
|
|
113
|
+
*/
|
|
114
|
+
addHook(description) {
|
|
115
|
+
// the resolve/reject functions we'll provide to the caller to signal
|
|
116
|
+
// the state of the job.
|
|
117
|
+
let resolve;
|
|
118
|
+
let reject;
|
|
119
|
+
// the underlying promise we'll use to manage it, pretty much like
|
|
120
|
+
// any other promise.
|
|
121
|
+
const promise = new Promise((res, rej) => {
|
|
122
|
+
resolve = res;
|
|
123
|
+
reject = rej;
|
|
124
|
+
});
|
|
125
|
+
// the function we call when we want to try to terminate this job.
|
|
126
|
+
let terminate;
|
|
127
|
+
// the promise the job can opt into listening to for termination.
|
|
128
|
+
const onTerminate = new Promise(resolveTerminate => {
|
|
129
|
+
terminate = resolveTerminate;
|
|
130
|
+
});
|
|
131
|
+
this.registerPromise(promise, terminate, description);
|
|
132
|
+
return {
|
|
133
|
+
resolve,
|
|
134
|
+
reject,
|
|
135
|
+
onTerminate,
|
|
136
|
+
};
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* Adds a Promise based job to the list of jobs for monitoring and listens
|
|
140
|
+
* for either a success or failure, upon which the job is considered "done"
|
|
141
|
+
* and removed from the registry.
|
|
142
|
+
*
|
|
143
|
+
* @param promise A promise that is on its way to being returned to a
|
|
144
|
+
* caller, which needs to be tracked as a background job.
|
|
145
|
+
* @param terminate The termination function to register, which can be
|
|
146
|
+
* invoked to request the job stop.
|
|
147
|
+
* @param description Optional description to help identify pending jobs.
|
|
148
|
+
*/
|
|
149
|
+
registerPromise(promise, terminate, description) {
|
|
150
|
+
const jobEntry = { promise, terminate, description };
|
|
151
|
+
this.jobs.add(jobEntry);
|
|
152
|
+
// in all of my testing, it is safe to multi-subscribe to a promise.
|
|
153
|
+
// so, rather than create another layer of promising, we're just going
|
|
154
|
+
// to hook into the promise we already have, and when it's done
|
|
155
|
+
// (successfully or not), we no longer need to wait for it upon close.
|
|
156
|
+
//
|
|
157
|
+
// sorry this is a bit hand-wavy:
|
|
158
|
+
//
|
|
159
|
+
// i believe we use `.then` and `.catch` instead of `.finally` because
|
|
160
|
+
// `.finally` is invoked in a different order in the sequence, and this
|
|
161
|
+
// breaks assumptions throughout and causes failures.
|
|
162
|
+
promise
|
|
163
|
+
.then(() => {
|
|
164
|
+
this.jobs.delete(jobEntry);
|
|
165
|
+
})
|
|
166
|
+
.catch(() => {
|
|
167
|
+
this.jobs.delete(jobEntry);
|
|
168
|
+
});
|
|
169
|
+
}
|
|
170
|
+
/**
|
|
171
|
+
* The number of jobs being waited on.
|
|
172
|
+
*
|
|
173
|
+
* We don't use this for anything. It's just informational for the caller,
|
|
174
|
+
* and can be used in logging and testing.
|
|
175
|
+
*
|
|
176
|
+
* @returns the number of jobs.
|
|
177
|
+
*/
|
|
178
|
+
get length() {
|
|
179
|
+
return this.jobs.size;
|
|
180
|
+
}
|
|
181
|
+
/**
|
|
182
|
+
* The execution state of the manager. One of:
|
|
183
|
+
*
|
|
184
|
+
* 1. "Open" -> Accepting new jobs
|
|
185
|
+
* 1. "Closing" -> Not accepting new work. Waiting for jobs to complete.
|
|
186
|
+
* 1. "Closed" -> Not accepting new work. All submitted jobs are complete.
|
|
187
|
+
*/
|
|
188
|
+
get state() {
|
|
189
|
+
return this._state;
|
|
190
|
+
}
|
|
191
|
+
/**
|
|
192
|
+
* The registered `description` of all still-pending jobs.
|
|
193
|
+
*
|
|
194
|
+
* @returns descriptions as an array.
|
|
195
|
+
*/
|
|
196
|
+
get pending() {
|
|
197
|
+
return Array.from(this.jobs).map(job => job.description);
|
|
198
|
+
}
|
|
199
|
+
/**
|
|
200
|
+
* Whether the manager is accepting new jobs.
|
|
201
|
+
*/
|
|
202
|
+
get isOpen() {
|
|
203
|
+
return this._state === types_1.BackgroundProcessManagerState.Open;
|
|
204
|
+
}
|
|
205
|
+
/**
|
|
206
|
+
* Whether the manager is rejecting new work, but still waiting for
|
|
207
|
+
* submitted work to complete.
|
|
208
|
+
*/
|
|
209
|
+
get isClosing() {
|
|
210
|
+
return this._state === types_1.BackgroundProcessManagerState.Closing;
|
|
211
|
+
}
|
|
212
|
+
/**
|
|
213
|
+
* Whether the manager is rejecting work and done waiting for submitted
|
|
214
|
+
* work to complete.
|
|
215
|
+
*/
|
|
216
|
+
get isClosed() {
|
|
217
|
+
return this._state === types_1.BackgroundProcessManagerState.Closed;
|
|
218
|
+
}
|
|
219
|
+
closedFailure(description) {
|
|
220
|
+
if (!this.isOpen) {
|
|
221
|
+
return Promise.reject(new BackgroundManagerNotOpenError_1.BackgroundManagerNotOpenError([
|
|
222
|
+
`The manager is ${this.state}.`,
|
|
223
|
+
`You tried to add "${description}".`,
|
|
224
|
+
`Pending jobs: [\n${this.pending
|
|
225
|
+
.map(t => ' ' + t)
|
|
226
|
+
.join(',\n')}\n]`,
|
|
227
|
+
].join('\n')));
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
/**
|
|
231
|
+
* Signals jobs to stop (for those that accept interruptions) and waits
|
|
232
|
+
* for confirmation that jobs have stopped.
|
|
233
|
+
*
|
|
234
|
+
* This immediately puts the manager into a closing state and just begins
|
|
235
|
+
* to reject new work. After all work in the manager is complete, the
|
|
236
|
+
* manager goes into a `Completed` state and `close()` returns.
|
|
237
|
+
*
|
|
238
|
+
* This call is idempotent.
|
|
239
|
+
*
|
|
240
|
+
* If the manager is already closing or closed, `finalCleaup` is not executed.
|
|
241
|
+
*
|
|
242
|
+
* @param onClosed
|
|
243
|
+
* @returns The settled results of each still-running job's promise. If the
|
|
244
|
+
* manager is already closed, this will contain the results as of when the
|
|
245
|
+
* manager's `close()` was called in an `Open` state.
|
|
246
|
+
*/
|
|
247
|
+
async close() {
|
|
248
|
+
if (this.isOpen) {
|
|
249
|
+
this._state = types_1.BackgroundProcessManagerState.Closing;
|
|
250
|
+
for (const job of Array.from(this.jobs)) {
|
|
251
|
+
try {
|
|
252
|
+
job.terminate();
|
|
253
|
+
}
|
|
254
|
+
catch (error) {
|
|
255
|
+
// Due to potential races with a job's natural completion, it's
|
|
256
|
+
// reasonable to expect the termination call to fail. Hence,
|
|
257
|
+
// not logging as an error.
|
|
258
|
+
console.warn(`Failed to send termination signal to job. Error: ${error.message}`, job);
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
// Use `allSettled()` because we want to wait for all to finish. We do
|
|
262
|
+
// not want to stop waiting if there is a failure.
|
|
263
|
+
this._closingPromise = Promise.allSettled(Array.from(this.jobs).map(j => j.promise));
|
|
264
|
+
await this._closingPromise;
|
|
265
|
+
this._state = types_1.BackgroundProcessManagerState.Closed;
|
|
266
|
+
}
|
|
267
|
+
return this._closingPromise;
|
|
268
|
+
}
|
|
269
|
+
/**
|
|
270
|
+
* Signals the manager to start accepting work (again) and returns once
|
|
271
|
+
* the manager is ready to do so.
|
|
272
|
+
*
|
|
273
|
+
* If the state is already `Open`, this call is a no-op.
|
|
274
|
+
*
|
|
275
|
+
* If the state is `Closed`, this call simply updates state and returns.
|
|
276
|
+
*
|
|
277
|
+
* If the state is `Closing`, this call waits for completion before it
|
|
278
|
+
* updates the state and returns.
|
|
279
|
+
*/
|
|
280
|
+
async open() {
|
|
281
|
+
if (this.isClosing) {
|
|
282
|
+
await this.close();
|
|
283
|
+
}
|
|
284
|
+
this._state = types_1.BackgroundProcessManagerState.Open;
|
|
285
|
+
}
|
|
286
|
+
}
|
|
287
|
+
exports.BackgroundProcessManager = BackgroundProcessManager;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { BackgroundProcessManager } from './BackgroundProcessManager';
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
3
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
4
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
+
exports.BackgroundProcessManager = void 0;
|
|
6
|
+
var BackgroundProcessManager_1 = require("./BackgroundProcessManager");
|
|
7
|
+
Object.defineProperty(exports, "BackgroundProcessManager", { enumerable: true, get: function () { return BackgroundProcessManager_1.BackgroundProcessManager; } });
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* All possible states a `BackgroundProcessManager` instance can be in.
|
|
3
|
+
*/
|
|
4
|
+
export declare enum BackgroundProcessManagerState {
|
|
5
|
+
/**
|
|
6
|
+
* Accepting new jobs.
|
|
7
|
+
*/
|
|
8
|
+
Open = "Open",
|
|
9
|
+
/**
|
|
10
|
+
* Not accepting new jobs. Waiting for submitted jobs to complete.
|
|
11
|
+
*/
|
|
12
|
+
Closing = "Closing",
|
|
13
|
+
/**
|
|
14
|
+
* Not accepting new jobs. All submitted jobs are complete.
|
|
15
|
+
*/
|
|
16
|
+
Closed = "Closed"
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Completely internal to `BackgroundProcessManager`, and describes the structure of
|
|
20
|
+
* an entry in the jobs registry.
|
|
21
|
+
*/
|
|
22
|
+
export type JobEntry = {
|
|
23
|
+
/**
|
|
24
|
+
* The underlying promise provided by the job function to wait for.
|
|
25
|
+
*/
|
|
26
|
+
promise: Promise<any>;
|
|
27
|
+
/**
|
|
28
|
+
* Request the termination of the job.
|
|
29
|
+
*/
|
|
30
|
+
terminate: () => void;
|
|
31
|
+
/**
|
|
32
|
+
* An object provided by the caller that can be used to identify the description
|
|
33
|
+
* of the job, which can otherwise be unclear from the `promise` and
|
|
34
|
+
* `terminate` function. The `description` can be a string. (May be extended
|
|
35
|
+
* later to also support object refs.)
|
|
36
|
+
*
|
|
37
|
+
* Useful for troubleshooting why a manager is waiting for long periods of time
|
|
38
|
+
* on `close()`.
|
|
39
|
+
*/
|
|
40
|
+
description?: string;
|
|
41
|
+
};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
3
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
4
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
+
exports.BackgroundProcessManagerState = void 0;
|
|
6
|
+
/**
|
|
7
|
+
* All possible states a `BackgroundProcessManager` instance can be in.
|
|
8
|
+
*/
|
|
9
|
+
var BackgroundProcessManagerState;
|
|
10
|
+
(function (BackgroundProcessManagerState) {
|
|
11
|
+
/**
|
|
12
|
+
* Accepting new jobs.
|
|
13
|
+
*/
|
|
14
|
+
BackgroundProcessManagerState["Open"] = "Open";
|
|
15
|
+
/**
|
|
16
|
+
* Not accepting new jobs. Waiting for submitted jobs to complete.
|
|
17
|
+
*/
|
|
18
|
+
BackgroundProcessManagerState["Closing"] = "Closing";
|
|
19
|
+
/**
|
|
20
|
+
* Not accepting new jobs. All submitted jobs are complete.
|
|
21
|
+
*/
|
|
22
|
+
BackgroundProcessManagerState["Closed"] = "Closed";
|
|
23
|
+
})(BackgroundProcessManagerState = exports.BackgroundProcessManagerState || (exports.BackgroundProcessManagerState = {}));
|
|
@@ -1,39 +1,22 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { StorageCacheCommon } from './StorageCacheCommon';
|
|
2
|
+
import { Cache, CacheConfig } from './types';
|
|
2
3
|
/**
|
|
3
|
-
*
|
|
4
|
-
*
|
|
4
|
+
* Customized storage based on the SessionStorage or LocalStorage with LRU implemented
|
|
5
5
|
*/
|
|
6
|
-
export declare class StorageCache {
|
|
7
|
-
|
|
6
|
+
export declare class StorageCache extends StorageCacheCommon implements Cache {
|
|
7
|
+
storage: Storage;
|
|
8
8
|
/**
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
* @param config - Custom configuration for this instance.
|
|
9
|
+
* initialize the cache
|
|
10
|
+
* @param config - the configuration of the cache
|
|
12
11
|
*/
|
|
13
12
|
constructor(config?: CacheConfig);
|
|
14
|
-
|
|
15
|
-
|
|
13
|
+
protected getAllCacheKeys(options?: {
|
|
14
|
+
omitSizeKey?: boolean;
|
|
15
|
+
}): Promise<string[]>;
|
|
16
16
|
/**
|
|
17
|
-
*
|
|
18
|
-
* @param
|
|
19
|
-
* @
|
|
20
|
-
*
|
|
21
|
-
* @return - the item which has the meta-data and the value
|
|
17
|
+
* Return a new instance of cache with customized configuration.
|
|
18
|
+
* @param {Object} config - the customized configuration
|
|
19
|
+
* @return {Object} - the new instance of Cache
|
|
22
20
|
*/
|
|
23
|
-
|
|
24
|
-
/**
|
|
25
|
-
* Set custom configuration for the cache instance.
|
|
26
|
-
*
|
|
27
|
-
* @param config - customized configuration (without keyPrefix, which can't be changed)
|
|
28
|
-
*
|
|
29
|
-
* @return - the current configuration
|
|
30
|
-
*/
|
|
31
|
-
configure(config?: Omit<CacheConfig, 'keyPrefix'>): CacheConfig;
|
|
32
|
-
/**
|
|
33
|
-
* Returns an appropriate configuration for the Cache instance. Will apply any custom configuration for this
|
|
34
|
-
* instance on top of the global configuration. Default configuration will be applied in all cases.
|
|
35
|
-
*
|
|
36
|
-
* @internal
|
|
37
|
-
*/
|
|
38
|
-
protected get cacheConfig(): CacheConfig;
|
|
21
|
+
createInstance(config: CacheConfig): Cache;
|
|
39
22
|
}
|
|
@@ -3,119 +3,54 @@
|
|
|
3
3
|
// SPDX-License-Identifier: Apache-2.0
|
|
4
4
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
5
|
exports.StorageCache = void 0;
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
6
|
+
const Logger_1 = require("../Logger");
|
|
7
|
+
const KeyValueStorage_1 = require("../storage/KeyValueStorage");
|
|
8
|
+
const utils_1 = require("../storage/utils");
|
|
9
|
+
const constants_1 = require("./constants");
|
|
10
|
+
const StorageCacheCommon_1 = require("./StorageCacheCommon");
|
|
11
|
+
const utils_2 = require("./utils");
|
|
12
|
+
const logger = new Logger_1.ConsoleLogger('Cache');
|
|
9
13
|
/**
|
|
10
|
-
*
|
|
11
|
-
*
|
|
14
|
+
* Customized storage based on the SessionStorage or LocalStorage with LRU implemented
|
|
12
15
|
*/
|
|
13
|
-
|
|
16
|
+
class StorageCache extends StorageCacheCommon_1.StorageCacheCommon {
|
|
14
17
|
/**
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
* @param config - Custom configuration for this instance.
|
|
18
|
+
* initialize the cache
|
|
19
|
+
* @param config - the configuration of the cache
|
|
18
20
|
*/
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
this.
|
|
21
|
+
constructor(config) {
|
|
22
|
+
const storage = (0, utils_1.getLocalStorageWithFallback)();
|
|
23
|
+
super({ config, keyValueStorage: new KeyValueStorage_1.KeyValueStorage(storage) });
|
|
24
|
+
this.storage = storage;
|
|
25
|
+
this.getItem = this.getItem.bind(this);
|
|
26
|
+
this.setItem = this.setItem.bind(this);
|
|
27
|
+
this.removeItem = this.removeItem.bind(this);
|
|
25
28
|
}
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
logger.error('Invalid parameter: defaultPriority. It should be between 1 and 5. Setting back to default.');
|
|
38
|
-
tempInstanceConfig.defaultPriority = Utils_1.defaultConfig.defaultPriority;
|
|
39
|
-
}
|
|
40
|
-
if (Number(this.cacheConfig.warningThreshold) > 1 ||
|
|
41
|
-
Number(this.cacheConfig.warningThreshold) < 0) {
|
|
42
|
-
logger.error('Invalid parameter: warningThreshold. It should be between 0 and 1. Setting back to default.');
|
|
43
|
-
tempInstanceConfig.warningThreshold = Utils_1.defaultConfig.warningThreshold;
|
|
44
|
-
}
|
|
45
|
-
// Set 5MB limit
|
|
46
|
-
var cacheLimit = 5 * 1024 * 1024;
|
|
47
|
-
if (this.cacheConfig.capacityInBytes > cacheLimit) {
|
|
48
|
-
logger.error('Cache Capacity should be less than 5MB. Setting back to default. Setting back to default.');
|
|
49
|
-
tempInstanceConfig.capacityInBytes = Utils_1.defaultConfig.capacityInBytes;
|
|
50
|
-
}
|
|
51
|
-
// Apply sanitized values to the instance config
|
|
52
|
-
if (Object.keys(tempInstanceConfig).length > 0) {
|
|
53
|
-
this.instanceConfig = tempInstanceConfig;
|
|
29
|
+
async getAllCacheKeys(options) {
|
|
30
|
+
const { omitSizeKey } = options ?? {};
|
|
31
|
+
const keys = [];
|
|
32
|
+
for (let i = 0; i < this.storage.length; i++) {
|
|
33
|
+
const key = this.storage.key(i);
|
|
34
|
+
if (omitSizeKey && key === (0, utils_2.getCurrentSizeKey)(this.config.keyPrefix)) {
|
|
35
|
+
continue;
|
|
36
|
+
}
|
|
37
|
+
if (key?.startsWith(this.config.keyPrefix)) {
|
|
38
|
+
keys.push(key.substring(this.config.keyPrefix.length));
|
|
39
|
+
}
|
|
54
40
|
}
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
* produce a JSON object with meta-data and data value
|
|
58
|
-
* @param value - the value of the item
|
|
59
|
-
* @param options - optional, the specified meta-data
|
|
60
|
-
*
|
|
61
|
-
* @return - the item which has the meta-data and the value
|
|
62
|
-
*/
|
|
63
|
-
StorageCache.prototype.fillCacheItem = function (key, value, options) {
|
|
64
|
-
var _a, _b;
|
|
65
|
-
var ret = {
|
|
66
|
-
key: key,
|
|
67
|
-
data: value,
|
|
68
|
-
timestamp: (0, Utils_1.getCurrTime)(),
|
|
69
|
-
visitedTime: (0, Utils_1.getCurrTime)(),
|
|
70
|
-
priority: (_a = options.priority) !== null && _a !== void 0 ? _a : 0,
|
|
71
|
-
expires: (_b = options.expires) !== null && _b !== void 0 ? _b : 0,
|
|
72
|
-
type: typeof value,
|
|
73
|
-
byteSize: 0,
|
|
74
|
-
};
|
|
75
|
-
ret.byteSize = (0, Utils_1.getByteLength)(JSON.stringify(ret));
|
|
76
|
-
// for accurate size
|
|
77
|
-
ret.byteSize = (0, Utils_1.getByteLength)(JSON.stringify(ret));
|
|
78
|
-
return ret;
|
|
79
|
-
};
|
|
41
|
+
return keys;
|
|
42
|
+
}
|
|
80
43
|
/**
|
|
81
|
-
*
|
|
82
|
-
*
|
|
83
|
-
* @
|
|
84
|
-
*
|
|
85
|
-
* @return - the current configuration
|
|
44
|
+
* Return a new instance of cache with customized configuration.
|
|
45
|
+
* @param {Object} config - the customized configuration
|
|
46
|
+
* @return {Object} - the new instance of Cache
|
|
86
47
|
*/
|
|
87
|
-
|
|
88
|
-
if (config) {
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
}
|
|
92
|
-
this.instanceConfig = this.instanceConfig
|
|
93
|
-
? Object.assign({}, this.instanceConfig, config)
|
|
94
|
-
: config;
|
|
48
|
+
createInstance(config) {
|
|
49
|
+
if (!config.keyPrefix || config.keyPrefix === constants_1.defaultConfig.keyPrefix) {
|
|
50
|
+
logger.error('invalid keyPrefix, setting keyPrefix with timeStamp');
|
|
51
|
+
config.keyPrefix = utils_2.getCurrentTime.toString();
|
|
95
52
|
}
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
Object.defineProperty(StorageCache.prototype, "cacheConfig", {
|
|
100
|
-
/**
|
|
101
|
-
* Returns an appropriate configuration for the Cache instance. Will apply any custom configuration for this
|
|
102
|
-
* instance on top of the global configuration. Default configuration will be applied in all cases.
|
|
103
|
-
*
|
|
104
|
-
* @internal
|
|
105
|
-
*/
|
|
106
|
-
get: function () {
|
|
107
|
-
// const globalCacheConfig = Amplify.getConfig().Cache || {};
|
|
108
|
-
var globalCacheConfig = {};
|
|
109
|
-
if (this.instanceConfig) {
|
|
110
|
-
return Object.assign({}, Utils_1.defaultConfig, globalCacheConfig, this.instanceConfig);
|
|
111
|
-
}
|
|
112
|
-
else {
|
|
113
|
-
return Object.assign({}, Utils_1.defaultConfig, globalCacheConfig);
|
|
114
|
-
}
|
|
115
|
-
},
|
|
116
|
-
enumerable: false,
|
|
117
|
-
configurable: true
|
|
118
|
-
});
|
|
119
|
-
return StorageCache;
|
|
120
|
-
}());
|
|
53
|
+
return new StorageCache(config);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
121
56
|
exports.StorageCache = StorageCache;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { StorageCacheCommon } from './StorageCacheCommon';
|
|
2
|
+
import { Cache, CacheConfig } from './types';
|
|
3
|
+
export declare class StorageCache extends StorageCacheCommon implements Cache {
|
|
4
|
+
/**
|
|
5
|
+
* initialize the cache
|
|
6
|
+
* @param config - the configuration of the cache
|
|
7
|
+
*/
|
|
8
|
+
constructor(config?: CacheConfig);
|
|
9
|
+
protected getAllCacheKeys(options?: {
|
|
10
|
+
omitSizeKey?: boolean;
|
|
11
|
+
}): Promise<string[]>;
|
|
12
|
+
protected getAllStorageKeys(): Promise<readonly string[]>;
|
|
13
|
+
/**
|
|
14
|
+
* Return a new instance of cache with customized configuration.
|
|
15
|
+
* @param {Object} config - the customized configuration
|
|
16
|
+
* @return {Object} - the new instance of Cache
|
|
17
|
+
*/
|
|
18
|
+
createInstance(config: CacheConfig): Cache;
|
|
19
|
+
}
|