@aws-amplify/core 6.0.1-api-v6-models.9351bcf.0 → 6.0.1-api-v6-models.58f2536.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/BackgroundProcessManager/BackgroundManagerNotOpenError.js +4 -21
- package/lib/BackgroundProcessManager/BackgroundProcessManager.js +126 -245
- package/lib/Cache/StorageCache.js +32 -92
- package/lib/Cache/StorageCache.native.js +38 -140
- package/lib/Cache/StorageCacheCommon.js +271 -600
- package/lib/Cache/index.js +1 -1
- package/lib/Cache/utils/CacheList.js +42 -66
- package/lib/Cache/utils/cacheHelpers.js +6 -8
- package/lib/Cache/utils/errorHelpers.js +6 -7
- package/lib/Hub/index.js +34 -74
- package/lib/I18n/I18n.js +24 -39
- package/lib/I18n/errorHelpers.js +4 -5
- package/lib/I18n/index.js +24 -27
- package/lib/I18n/types.js +3 -4
- package/lib/Logger/ConsoleLogger.js +53 -129
- package/lib/Mutex/Mutex.js +15 -19
- package/lib/Platform/customUserAgent.js +13 -26
- package/lib/Platform/detectFramework.js +12 -13
- package/lib/Platform/detection/Angular.js +4 -5
- package/lib/Platform/detection/Expo.js +1 -1
- package/lib/Platform/detection/Next.js +1 -1
- package/lib/Platform/detection/Nuxt.js +1 -1
- package/lib/Platform/detection/React.js +5 -5
- package/lib/Platform/detection/Svelte.js +2 -2
- package/lib/Platform/detection/Vue.js +1 -1
- package/lib/Platform/detection/Web.js +1 -1
- package/lib/Platform/detection/helpers.js +7 -7
- package/lib/Platform/detection/index.js +13 -13
- package/lib/Platform/index.js +26 -55
- package/lib/Platform/types.d.ts +1 -1
- package/lib/Platform/types.js +1 -1
- package/lib/Platform/version.d.ts +1 -1
- package/lib/Platform/version.js +1 -1
- package/lib/Reachability/Reachability.js +20 -48
- package/lib/Reachability/Reachability.native.js +12 -16
- package/lib/ServiceWorker/ServiceWorker.js +80 -136
- package/lib/ServiceWorker/errorHelpers.js +6 -7
- package/lib/Signer/DateUtils.d.ts +9 -0
- package/lib/Signer/DateUtils.js +19 -28
- package/lib/Signer/Signer.d.ts +9 -0
- package/lib/Signer/Signer.js +58 -54
- package/lib/adapterCore/error/AmplifyServerContextError.js +9 -27
- package/lib/adapterCore/serverContext/serverContext.js +8 -8
- package/lib/adapterCore/serverContext/serverContextRegistry.js +6 -6
- package/lib/awsClients/cognitoIdentity/base.js +25 -73
- package/lib/awsClients/cognitoIdentity/getCredentialsForIdentity.js +24 -68
- package/lib/awsClients/cognitoIdentity/getId.js +19 -62
- package/lib/awsClients/pinpoint/base.js +12 -15
- package/lib/awsClients/pinpoint/errorHelpers.js +4 -5
- package/lib/awsClients/pinpoint/getInAppMessages.js +24 -68
- package/lib/awsClients/pinpoint/putEvents.js +26 -70
- package/lib/awsClients/pinpoint/updateEndpoint.js +28 -72
- package/lib/clients/endpoints/getDnsSuffix.js +7 -29
- package/lib/clients/handlers/authenticated.js +5 -5
- package/lib/clients/handlers/fetch.js +41 -98
- package/lib/clients/handlers/unauthenticated.js +4 -4
- package/lib/clients/internal/composeServiceApi.js +17 -67
- package/lib/clients/internal/composeTransferHandler.js +9 -11
- package/lib/clients/middleware/retry/defaultRetryDecider.js +18 -75
- package/lib/clients/middleware/retry/isClockSkewError.js +2 -4
- package/lib/clients/middleware/retry/jitteredBackoff.js +5 -5
- package/lib/clients/middleware/retry/middleware.js +61 -125
- package/lib/clients/middleware/signing/middleware.js +24 -86
- package/lib/clients/middleware/signing/signer/signatureV4/index.js +0 -1
- package/lib/clients/middleware/signing/signer/signatureV4/presignUrl.js +21 -56
- package/lib/clients/middleware/signing/signer/signatureV4/signRequest.js +14 -25
- package/lib/clients/middleware/signing/signer/signatureV4/utils/dataHashHelpers.js +7 -7
- package/lib/clients/middleware/signing/signer/signatureV4/utils/getCanonicalHeaders.js +8 -30
- package/lib/clients/middleware/signing/signer/signatureV4/utils/getCanonicalQueryString.js +11 -38
- package/lib/clients/middleware/signing/signer/signatureV4/utils/getCanonicalRequest.js +13 -17
- package/lib/clients/middleware/signing/signer/signatureV4/utils/getCanonicalUri.js +5 -8
- package/lib/clients/middleware/signing/signer/signatureV4/utils/getCredentialScope.js +2 -2
- package/lib/clients/middleware/signing/signer/signatureV4/utils/getFormattedDates.js +3 -3
- package/lib/clients/middleware/signing/signer/signatureV4/utils/getHashedPayload.js +7 -11
- package/lib/clients/middleware/signing/signer/signatureV4/utils/getSignature.js +9 -10
- package/lib/clients/middleware/signing/signer/signatureV4/utils/getSignedHeaders.js +4 -6
- package/lib/clients/middleware/signing/signer/signatureV4/utils/getSigningKey.js +8 -8
- package/lib/clients/middleware/signing/signer/signatureV4/utils/getSigningValues.js +15 -16
- package/lib/clients/middleware/signing/signer/signatureV4/utils/getStringToSign.js +2 -4
- package/lib/clients/middleware/signing/utils/extendedEncodeURIComponent.js +3 -5
- package/lib/clients/middleware/signing/utils/getSkewCorrectedDate.js +1 -3
- package/lib/clients/middleware/signing/utils/getUpdatedSystemClockOffset.js +2 -2
- package/lib/clients/middleware/signing/utils/isClockSkewed.js +4 -6
- package/lib/clients/middleware/userAgent/middleware.js +14 -63
- package/lib/clients/serde/json.js +30 -96
- package/lib/clients/serde/responseInfo.js +12 -18
- package/lib/clients/utils/memoization.js +3 -3
- package/lib/constants.js +1 -1
- package/lib/errors/AmplifyError.js +9 -28
- package/lib/errors/PlatformNotSupportedError.js +7 -24
- package/lib/errors/createAssertionFunction.js +12 -15
- package/lib/errors/errorHelpers.js +7 -8
- package/lib/index.d.ts +1 -1
- package/lib/libraryUtils.d.ts +4 -0
- package/lib/libraryUtils.js +13 -3
- package/lib/parseAWSExports.js +109 -100
- package/lib/providers/kinesis/types/kinesis.d.ts +1 -1
- package/lib/providers/kinesis-firehose/types/kinesis-firehose.d.ts +1 -1
- package/lib/providers/personalize/types/personalize.d.ts +1 -1
- package/lib/providers/pinpoint/apis/flushEvents.js +8 -8
- package/lib/providers/pinpoint/apis/record.js +58 -93
- package/lib/providers/pinpoint/apis/updateEndpoint.js +65 -112
- package/lib/providers/pinpoint/types/pinpoint.d.ts +3 -1
- package/lib/providers/pinpoint/utils/PinpointEventBuffer.js +105 -196
- package/lib/providers/pinpoint/utils/cacheEndpointId.js +12 -49
- package/lib/providers/pinpoint/utils/getCacheKey.js +2 -2
- package/lib/providers/pinpoint/utils/getEndpointId.js +7 -51
- package/lib/providers/pinpoint/utils/getEventBuffer.js +19 -21
- package/lib/providers/pinpoint/utils/isAppInForeground.js +1 -1
- package/lib/providers/pinpoint/utils/isAppInForeground.native.js +2 -2
- package/lib/providers/pinpoint/utils/resolveEndpointId.js +20 -71
- package/lib/singleton/Amplify.d.ts +4 -0
- package/lib/singleton/Amplify.js +21 -103
- package/lib/singleton/Analytics/types.d.ts +5 -1
- package/lib/singleton/Auth/index.js +48 -115
- package/lib/singleton/Auth/types.d.ts +2 -2
- package/lib/singleton/Auth/utils/errorHelpers.js +7 -8
- package/lib/singleton/Auth/utils/index.js +18 -19
- package/lib/singleton/Predictions/types.d.ts +49 -0
- package/lib/singleton/Predictions/types.js +4 -0
- package/lib/singleton/apis/clearCredentials.js +1 -1
- package/lib/singleton/apis/fetchAuthSession.js +3 -3
- package/lib/singleton/apis/internal/fetchAuthSession.js +1 -1
- package/lib/singleton/apis/server/fetchAuthSession.js +3 -3
- package/lib/singleton/types.d.ts +3 -1
- package/lib/storage/CookieStorage.js +29 -99
- package/lib/storage/CookieStorage.native.js +5 -22
- package/lib/storage/DefaultStorage.js +6 -23
- package/lib/storage/DefaultStorage.native.js +18 -64
- package/lib/storage/InMemoryStorage.js +17 -23
- package/lib/storage/KeyValueStorage.js +24 -80
- package/lib/storage/SessionStorage.js +6 -23
- package/lib/storage/index.js +4 -4
- package/lib/storage/utils.js +7 -11
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/lib/utils/WordArray.d.ts +7 -0
- package/lib/utils/WordArray.js +49 -0
- package/lib/utils/amplifyUrl/index.js +2 -2
- package/lib/utils/amplifyUrl/polyfill.native.js +1 -1
- package/lib/utils/amplifyUuid/index.d.ts +1 -1
- package/lib/utils/amplifyUuid/index.js +2 -2
- package/lib/utils/amplifyUuid/polyfill.native.js +1 -1
- package/lib/utils/convert/base64/base64Decoder.js +2 -2
- package/lib/utils/convert/base64/base64Encoder.js +5 -6
- package/lib/utils/convert/base64/bytesToString.js +1 -1
- package/lib/utils/cryptoSecureRandomInt.d.ts +1 -0
- package/lib/utils/cryptoSecureRandomInt.js +16 -0
- package/lib/utils/deepFreeze.js +6 -28
- package/lib/utils/generateRandomString.js +4 -4
- package/lib/utils/getClientInfo/getClientInfo.android.js +7 -7
- package/lib/utils/getClientInfo/getClientInfo.ios.js +12 -12
- package/lib/utils/getClientInfo/getClientInfo.js +16 -16
- package/lib/utils/globalHelpers/index.js +4 -4
- package/lib/utils/globalHelpers/index.native.js +6 -6
- package/lib/utils/isBrowser.js +1 -3
- package/lib/utils/isWebWorker.js +2 -2
- package/lib/utils/retry/NonRetryableError.js +5 -23
- package/lib/utils/retry/isNonRetryableError.js +2 -2
- package/lib/utils/retry/jitteredBackoff.js +6 -7
- package/lib/utils/retry/jitteredExponentialRetry.js +4 -7
- package/lib/utils/retry/retry.js +50 -140
- package/lib/utils/sessionListener/SessionListener.js +17 -19
- package/lib/utils/sessionListener/SessionListener.native.js +18 -22
- package/lib/utils/sessionListener/constants.d.ts +2 -0
- package/lib/utils/sessionListener/constants.js +8 -0
- package/lib/utils/sessionListener/index.d.ts +1 -0
- package/lib/utils/sessionListener/index.js +5 -2
- package/lib/utils/urlSafeDecode.js +2 -2
- package/lib/utils/urlSafeEncode.js +1 -1
- package/lib-esm/BackgroundProcessManager/BackgroundManagerNotOpenError.js +4 -22
- package/lib-esm/BackgroundProcessManager/BackgroundProcessManager.js +124 -244
- package/lib-esm/Cache/StorageCache.js +26 -87
- package/lib-esm/Cache/StorageCache.native.js +33 -136
- package/lib-esm/Cache/StorageCacheCommon.js +267 -597
- package/lib-esm/Cache/constants.js +2 -2
- package/lib-esm/Cache/index.js +1 -1
- package/lib-esm/Cache/utils/CacheList.js +41 -66
- package/lib-esm/Cache/utils/cacheHelpers.js +5 -7
- package/lib-esm/Cache/utils/errorHelpers.js +6 -7
- package/lib-esm/Hub/index.js +34 -75
- package/lib-esm/I18n/I18n.js +23 -39
- package/lib-esm/I18n/errorHelpers.js +4 -5
- package/lib-esm/I18n/index.js +21 -25
- package/lib-esm/I18n/types.js +3 -5
- package/lib-esm/Logger/ConsoleLogger.js +52 -128
- package/lib-esm/Mutex/Mutex.js +15 -20
- package/lib-esm/Platform/customUserAgent.js +13 -26
- package/lib-esm/Platform/detectFramework.js +11 -12
- package/lib-esm/Platform/detection/Angular.js +3 -4
- package/lib-esm/Platform/detection/React.js +4 -4
- package/lib-esm/Platform/detection/Svelte.js +1 -1
- package/lib-esm/Platform/detection/helpers.js +7 -7
- package/lib-esm/Platform/detection/index.js +3 -3
- package/lib-esm/Platform/index.js +23 -52
- package/lib-esm/Platform/types.d.ts +1 -1
- package/lib-esm/Platform/types.js +1 -1
- package/lib-esm/Platform/version.d.ts +1 -1
- package/lib-esm/Platform/version.js +1 -1
- package/lib-esm/Reachability/Reachability.js +18 -46
- package/lib-esm/Reachability/Reachability.native.js +10 -15
- package/lib-esm/ServiceWorker/ServiceWorker.js +74 -131
- package/lib-esm/ServiceWorker/errorHelpers.js +6 -7
- package/lib-esm/Signer/DateUtils.d.ts +9 -0
- package/lib-esm/Signer/DateUtils.js +20 -29
- package/lib-esm/Signer/Signer.d.ts +9 -0
- package/lib-esm/Signer/Signer.js +54 -51
- package/lib-esm/adapterCore/error/AmplifyServerContextError.js +8 -27
- package/lib-esm/adapterCore/serverContext/serverContext.js +6 -6
- package/lib-esm/adapterCore/serverContext/serverContextRegistry.js +7 -7
- package/lib-esm/awsClients/cognitoIdentity/base.js +21 -69
- package/lib-esm/awsClients/cognitoIdentity/getCredentialsForIdentity.js +22 -66
- package/lib-esm/awsClients/cognitoIdentity/getId.js +17 -60
- package/lib-esm/awsClients/pinpoint/base.js +8 -11
- package/lib-esm/awsClients/pinpoint/errorHelpers.js +4 -5
- package/lib-esm/awsClients/pinpoint/getInAppMessages.js +19 -63
- package/lib-esm/awsClients/pinpoint/putEvents.js +20 -64
- package/lib-esm/awsClients/pinpoint/updateEndpoint.js +23 -67
- package/lib-esm/clients/endpoints/getDnsSuffix.js +6 -28
- package/lib-esm/clients/endpoints/partitions.js +2 -2
- package/lib-esm/clients/handlers/authenticated.js +1 -1
- package/lib-esm/clients/handlers/fetch.js +40 -97
- package/lib-esm/clients/handlers/unauthenticated.js +1 -1
- package/lib-esm/clients/internal/composeServiceApi.js +17 -67
- package/lib-esm/clients/internal/composeTransferHandler.js +9 -11
- package/lib-esm/clients/middleware/retry/defaultRetryDecider.js +17 -74
- package/lib-esm/clients/middleware/retry/isClockSkewError.js +2 -4
- package/lib-esm/clients/middleware/retry/jitteredBackoff.js +4 -4
- package/lib-esm/clients/middleware/retry/middleware.js +61 -125
- package/lib-esm/clients/middleware/signing/middleware.js +21 -83
- package/lib-esm/clients/middleware/signing/signer/signatureV4/constants.js +17 -17
- package/lib-esm/clients/middleware/signing/signer/signatureV4/index.js +0 -1
- package/lib-esm/clients/middleware/signing/signer/signatureV4/presignUrl.js +17 -52
- package/lib-esm/clients/middleware/signing/signer/signatureV4/signRequest.js +10 -21
- package/lib-esm/clients/middleware/signing/signer/signatureV4/utils/dataHashHelpers.js +5 -5
- package/lib-esm/clients/middleware/signing/signer/signatureV4/utils/getCanonicalHeaders.js +8 -30
- package/lib-esm/clients/middleware/signing/signer/signatureV4/utils/getCanonicalQueryString.js +11 -38
- package/lib-esm/clients/middleware/signing/signer/signatureV4/utils/getCanonicalRequest.js +8 -12
- package/lib-esm/clients/middleware/signing/signer/signatureV4/utils/getCanonicalUri.js +5 -8
- package/lib-esm/clients/middleware/signing/signer/signatureV4/utils/getCredentialScope.js +1 -1
- package/lib-esm/clients/middleware/signing/signer/signatureV4/utils/getFormattedDates.js +3 -3
- package/lib-esm/clients/middleware/signing/signer/signatureV4/utils/getHashedPayload.js +5 -9
- package/lib-esm/clients/middleware/signing/signer/signatureV4/utils/getSignature.js +5 -6
- package/lib-esm/clients/middleware/signing/signer/signatureV4/utils/getSignedHeaders.js +4 -6
- package/lib-esm/clients/middleware/signing/signer/signatureV4/utils/getSigningKey.js +6 -6
- package/lib-esm/clients/middleware/signing/signer/signatureV4/utils/getSigningValues.js +13 -14
- package/lib-esm/clients/middleware/signing/signer/signatureV4/utils/getStringToSign.js +1 -3
- package/lib-esm/clients/middleware/signing/utils/extendedEncodeURIComponent.js +3 -5
- package/lib-esm/clients/middleware/signing/utils/getSkewCorrectedDate.js +1 -3
- package/lib-esm/clients/middleware/signing/utils/getUpdatedSystemClockOffset.js +1 -1
- package/lib-esm/clients/middleware/signing/utils/isClockSkewed.js +3 -5
- package/lib-esm/clients/middleware/userAgent/middleware.js +14 -63
- package/lib-esm/clients/serde/json.js +29 -95
- package/lib-esm/clients/serde/responseInfo.js +11 -17
- package/lib-esm/clients/utils/memoization.js +3 -3
- package/lib-esm/constants.js +5 -5
- package/lib-esm/errors/AmplifyError.js +9 -29
- package/lib-esm/errors/PlatformNotSupportedError.js +5 -23
- package/lib-esm/errors/createAssertionFunction.js +11 -14
- package/lib-esm/errors/errorHelpers.js +6 -7
- package/lib-esm/index.d.ts +1 -1
- package/lib-esm/libraryUtils.d.ts +4 -0
- package/lib-esm/libraryUtils.js +4 -0
- package/lib-esm/parseAWSExports.js +108 -99
- package/lib-esm/providers/kinesis/types/kinesis.d.ts +1 -1
- package/lib-esm/providers/kinesis-firehose/types/kinesis-firehose.d.ts +1 -1
- package/lib-esm/providers/personalize/types/personalize.d.ts +1 -1
- package/lib-esm/providers/pinpoint/apis/flushEvents.js +6 -6
- package/lib-esm/providers/pinpoint/apis/record.js +54 -89
- package/lib-esm/providers/pinpoint/apis/updateEndpoint.js +61 -108
- package/lib-esm/providers/pinpoint/types/pinpoint.d.ts +3 -1
- package/lib-esm/providers/pinpoint/utils/PinpointEventBuffer.js +102 -194
- package/lib-esm/providers/pinpoint/utils/cacheEndpointId.js +10 -47
- package/lib-esm/providers/pinpoint/utils/constants.js +4 -4
- package/lib-esm/providers/pinpoint/utils/getCacheKey.js +2 -2
- package/lib-esm/providers/pinpoint/utils/getEndpointId.js +5 -49
- package/lib-esm/providers/pinpoint/utils/getEventBuffer.js +17 -19
- package/lib-esm/providers/pinpoint/utils/isAppInForeground.js +1 -1
- package/lib-esm/providers/pinpoint/utils/isAppInForeground.native.js +1 -1
- package/lib-esm/providers/pinpoint/utils/resolveEndpointId.js +16 -67
- package/lib-esm/singleton/Amplify.d.ts +4 -0
- package/lib-esm/singleton/Amplify.js +18 -101
- package/lib-esm/singleton/Analytics/types.d.ts +5 -1
- package/lib-esm/singleton/Auth/index.js +48 -116
- package/lib-esm/singleton/Auth/types.d.ts +2 -2
- package/lib-esm/singleton/Auth/utils/errorHelpers.js +7 -8
- package/lib-esm/singleton/Auth/utils/index.js +16 -17
- package/lib-esm/singleton/Predictions/types.d.ts +49 -0
- package/lib-esm/singleton/Predictions/types.js +3 -0
- package/lib-esm/singleton/apis/fetchAuthSession.js +1 -1
- package/lib-esm/singleton/apis/internal/fetchAuthSession.js +1 -1
- package/lib-esm/singleton/apis/server/fetchAuthSession.js +1 -1
- package/lib-esm/singleton/types.d.ts +3 -1
- package/lib-esm/storage/CookieStorage.js +28 -99
- package/lib-esm/storage/CookieStorage.native.js +4 -22
- package/lib-esm/storage/DefaultStorage.js +4 -22
- package/lib-esm/storage/DefaultStorage.native.js +17 -64
- package/lib-esm/storage/InMemoryStorage.js +17 -24
- package/lib-esm/storage/KeyValueStorage.js +23 -80
- package/lib-esm/storage/SessionStorage.js +4 -22
- package/lib-esm/storage/index.js +3 -3
- package/lib-esm/storage/utils.js +6 -10
- package/lib-esm/tsconfig.tsbuildinfo +1 -1
- package/lib-esm/utils/WordArray.d.ts +7 -0
- package/lib-esm/utils/WordArray.js +46 -0
- package/lib-esm/utils/amplifyUrl/index.js +2 -2
- package/lib-esm/utils/amplifyUuid/index.d.ts +1 -1
- package/lib-esm/utils/amplifyUuid/index.js +1 -1
- package/lib-esm/utils/convert/base64/base64Decoder.js +2 -2
- package/lib-esm/utils/convert/base64/base64Encoder.js +4 -5
- package/lib-esm/utils/convert/base64/bytesToString.js +1 -1
- package/lib-esm/utils/cryptoSecureRandomInt.d.ts +1 -0
- package/lib-esm/utils/cryptoSecureRandomInt.js +12 -0
- package/lib-esm/utils/deepFreeze.js +6 -28
- package/lib-esm/utils/generateRandomString.js +4 -4
- package/lib-esm/utils/getClientInfo/getClientInfo.android.js +5 -5
- package/lib-esm/utils/getClientInfo/getClientInfo.ios.js +10 -10
- package/lib-esm/utils/getClientInfo/getClientInfo.js +15 -15
- package/lib-esm/utils/globalHelpers/index.js +3 -3
- package/lib-esm/utils/globalHelpers/index.native.js +4 -4
- package/lib-esm/utils/isBrowser.js +1 -3
- package/lib-esm/utils/isWebWorker.js +2 -2
- package/lib-esm/utils/retry/NonRetryableError.js +5 -24
- package/lib-esm/utils/retry/constants.js +1 -1
- package/lib-esm/utils/retry/isNonRetryableError.js +2 -2
- package/lib-esm/utils/retry/jitteredBackoff.js +5 -6
- package/lib-esm/utils/retry/jitteredExponentialRetry.js +1 -4
- package/lib-esm/utils/retry/retry.js +48 -138
- package/lib-esm/utils/sessionListener/SessionListener.js +16 -19
- package/lib-esm/utils/sessionListener/SessionListener.native.js +17 -22
- package/lib-esm/utils/sessionListener/constants.d.ts +2 -0
- package/lib-esm/utils/sessionListener/constants.js +5 -0
- package/lib-esm/utils/sessionListener/index.d.ts +1 -0
- package/lib-esm/utils/sessionListener/index.js +2 -1
- package/lib-esm/utils/urlSafeDecode.js +2 -2
- package/lib-esm/utils/urlSafeEncode.js +1 -1
- package/package.json +11 -24
- package/src/Cache/types/index.ts +4 -4
- package/src/Platform/types.ts +1 -1
- package/src/Platform/version.ts +1 -1
- package/src/Signer/DateUtils.ts +10 -2
- package/src/Signer/Signer.ts +9 -2
- package/src/clients/middleware/signing/signer/signatureV4/index.ts +0 -1
- package/src/index.ts +1 -0
- package/src/libraryUtils.ts +7 -1
- package/src/parseAWSExports.ts +45 -6
- package/src/providers/kinesis/types/kinesis.ts +1 -1
- package/src/providers/kinesis-firehose/types/kinesis-firehose.ts +1 -1
- package/src/providers/personalize/types/personalize.ts +1 -1
- package/src/providers/pinpoint/apis/record.ts +22 -5
- package/src/providers/pinpoint/types/pinpoint.ts +3 -1
- package/src/singleton/Amplify.ts +9 -52
- package/src/singleton/Analytics/types.ts +9 -4
- package/src/singleton/Auth/types.ts +2 -2
- package/src/singleton/Predictions/types.ts +61 -0
- package/src/singleton/types.ts +3 -1
- package/src/utils/WordArray.ts +57 -0
- package/src/utils/amplifyUuid/index.ts +1 -1
- package/src/utils/cryptoSecureRandomInt.ts +14 -0
- package/src/utils/sessionListener/constants.ts +6 -0
- package/src/utils/sessionListener/index.ts +1 -0
package/lib/Cache/index.js
CHANGED
|
@@ -3,5 +3,5 @@
|
|
|
3
3
|
// SPDX-License-Identifier: Apache-2.0
|
|
4
4
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
5
|
exports.Cache = void 0;
|
|
6
|
-
|
|
6
|
+
const StorageCache_1 = require("./StorageCache");
|
|
7
7
|
exports.Cache = new StorageCache_1.StorageCache();
|
|
@@ -1,28 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
3
3
|
// SPDX-License-Identifier: Apache-2.0
|
|
4
|
-
var __values = (this && this.__values) || function(o) {
|
|
5
|
-
var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
|
|
6
|
-
if (m) return m.call(o);
|
|
7
|
-
if (o && typeof o.length === "number") return {
|
|
8
|
-
next: function () {
|
|
9
|
-
if (o && i >= o.length) o = void 0;
|
|
10
|
-
return { value: o && o[i++], done: !o };
|
|
11
|
-
}
|
|
12
|
-
};
|
|
13
|
-
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
|
|
14
|
-
};
|
|
15
4
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
5
|
exports.CacheList = void 0;
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
6
|
+
const errorHelpers_1 = require("./errorHelpers");
|
|
7
|
+
class DoubleLinkedNode {
|
|
8
|
+
constructor(keyVal) {
|
|
20
9
|
this.key = keyVal ? keyVal : '';
|
|
21
10
|
this.prevNode = null;
|
|
22
11
|
this.nextNode = null;
|
|
23
12
|
}
|
|
24
|
-
|
|
25
|
-
}());
|
|
13
|
+
}
|
|
26
14
|
/**
|
|
27
15
|
* double linked list plus a hash table inside
|
|
28
16
|
* each key in the cache stored as a node in the list
|
|
@@ -34,11 +22,11 @@ var DoubleLinkedNode = /** @class */ (function () {
|
|
|
34
22
|
* @member hashtable - the hashtable which maps cache key to list node
|
|
35
23
|
* @member length - length of the list
|
|
36
24
|
*/
|
|
37
|
-
|
|
25
|
+
class CacheList {
|
|
38
26
|
/**
|
|
39
27
|
* initialization
|
|
40
28
|
*/
|
|
41
|
-
|
|
29
|
+
constructor() {
|
|
42
30
|
this.head = new DoubleLinkedNode();
|
|
43
31
|
this.tail = new DoubleLinkedNode();
|
|
44
32
|
this.hashtable = {};
|
|
@@ -51,21 +39,21 @@ var CacheList = /** @class */ (function () {
|
|
|
51
39
|
*
|
|
52
40
|
* @param node
|
|
53
41
|
*/
|
|
54
|
-
|
|
55
|
-
|
|
42
|
+
insertNodeToHead(node) {
|
|
43
|
+
const tmp = this.head.nextNode;
|
|
56
44
|
this.head.nextNode = node;
|
|
57
45
|
node.nextNode = tmp;
|
|
58
46
|
node.prevNode = this.head;
|
|
59
47
|
(0, errorHelpers_1.assert)(tmp !== null, errorHelpers_1.CacheErrorCode.NullPreviousNode);
|
|
60
48
|
tmp.prevNode = node;
|
|
61
49
|
this.length = this.length + 1;
|
|
62
|
-
}
|
|
50
|
+
}
|
|
63
51
|
/**
|
|
64
52
|
* remove node
|
|
65
53
|
*
|
|
66
54
|
* @param node
|
|
67
55
|
*/
|
|
68
|
-
|
|
56
|
+
removeNode(node) {
|
|
69
57
|
(0, errorHelpers_1.assert)(node.prevNode !== null, errorHelpers_1.CacheErrorCode.NullPreviousNode);
|
|
70
58
|
(0, errorHelpers_1.assert)(node.nextNode !== null, errorHelpers_1.CacheErrorCode.NullNextNode);
|
|
71
59
|
node.prevNode.nextNode = node.nextNode;
|
|
@@ -73,112 +61,100 @@ var CacheList = /** @class */ (function () {
|
|
|
73
61
|
node.prevNode = null;
|
|
74
62
|
node.nextNode = null;
|
|
75
63
|
this.length = this.length - 1;
|
|
76
|
-
}
|
|
64
|
+
}
|
|
77
65
|
/**
|
|
78
66
|
* @return true if list is empty
|
|
79
67
|
*/
|
|
80
|
-
|
|
68
|
+
isEmpty() {
|
|
81
69
|
return this.length === 0;
|
|
82
|
-
}
|
|
70
|
+
}
|
|
83
71
|
/**
|
|
84
72
|
* refresh node so it is rotated to the head
|
|
85
73
|
*
|
|
86
74
|
* @param key - key of the node
|
|
87
75
|
*/
|
|
88
|
-
|
|
89
|
-
|
|
76
|
+
refresh(key) {
|
|
77
|
+
const node = this.hashtable[key];
|
|
90
78
|
this.removeNode(node);
|
|
91
79
|
this.insertNodeToHead(node);
|
|
92
|
-
}
|
|
80
|
+
}
|
|
93
81
|
/**
|
|
94
82
|
* insert new node to the head and add it in the hashtable
|
|
95
83
|
*
|
|
96
84
|
* @param key - the key of the node
|
|
97
85
|
*/
|
|
98
|
-
|
|
99
|
-
|
|
86
|
+
insertItem(key) {
|
|
87
|
+
const node = new DoubleLinkedNode(key);
|
|
100
88
|
this.hashtable[key] = node;
|
|
101
89
|
this.insertNodeToHead(node);
|
|
102
|
-
}
|
|
90
|
+
}
|
|
103
91
|
/**
|
|
104
92
|
* @return the LAST Recently Visited key
|
|
105
93
|
*/
|
|
106
|
-
|
|
94
|
+
getLastItem() {
|
|
107
95
|
(0, errorHelpers_1.assert)(this.tail.prevNode !== null, errorHelpers_1.CacheErrorCode.NullPreviousNode);
|
|
108
96
|
return this.tail.prevNode.key;
|
|
109
|
-
}
|
|
97
|
+
}
|
|
110
98
|
/**
|
|
111
99
|
* remove the cache key from the list and hashtable
|
|
112
100
|
* @param key - the key of the node
|
|
113
101
|
*/
|
|
114
|
-
|
|
115
|
-
|
|
102
|
+
removeItem(key) {
|
|
103
|
+
const removedItem = this.hashtable[key];
|
|
116
104
|
this.removeNode(removedItem);
|
|
117
105
|
delete this.hashtable[key];
|
|
118
|
-
}
|
|
106
|
+
}
|
|
119
107
|
/**
|
|
120
108
|
* @return length of the list
|
|
121
109
|
*/
|
|
122
|
-
|
|
110
|
+
getSize() {
|
|
123
111
|
return this.length;
|
|
124
|
-
}
|
|
112
|
+
}
|
|
125
113
|
/**
|
|
126
114
|
* @return true if the key is in the hashtable
|
|
127
115
|
* @param key
|
|
128
116
|
*/
|
|
129
|
-
|
|
117
|
+
containsKey(key) {
|
|
130
118
|
return key in this.hashtable;
|
|
131
|
-
}
|
|
119
|
+
}
|
|
132
120
|
/**
|
|
133
121
|
* clean up the list and hashtable
|
|
134
122
|
*/
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
var key = _c.value;
|
|
140
|
-
if (this.hashtable.hasOwnProperty(key)) {
|
|
141
|
-
delete this.hashtable[key];
|
|
142
|
-
}
|
|
143
|
-
}
|
|
144
|
-
}
|
|
145
|
-
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
146
|
-
finally {
|
|
147
|
-
try {
|
|
148
|
-
if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
|
|
123
|
+
clearList() {
|
|
124
|
+
for (const key of Object.keys(this.hashtable)) {
|
|
125
|
+
if (this.hashtable.hasOwnProperty(key)) {
|
|
126
|
+
delete this.hashtable[key];
|
|
149
127
|
}
|
|
150
|
-
finally { if (e_1) throw e_1.error; }
|
|
151
128
|
}
|
|
152
129
|
this.head.nextNode = this.tail;
|
|
153
130
|
this.tail.prevNode = this.head;
|
|
154
131
|
this.length = 0;
|
|
155
|
-
}
|
|
132
|
+
}
|
|
156
133
|
/**
|
|
157
134
|
* @return all keys in the hashtable
|
|
158
135
|
*/
|
|
159
|
-
|
|
136
|
+
getKeys() {
|
|
160
137
|
return Object.keys(this.hashtable);
|
|
161
|
-
}
|
|
138
|
+
}
|
|
162
139
|
/**
|
|
163
140
|
* mainly for test
|
|
164
141
|
*
|
|
165
142
|
* @param key
|
|
166
143
|
* @return true if key is the head node
|
|
167
144
|
*/
|
|
168
|
-
|
|
169
|
-
|
|
145
|
+
isHeadNode(key) {
|
|
146
|
+
const node = this.hashtable[key];
|
|
170
147
|
return node.prevNode === this.head;
|
|
171
|
-
}
|
|
148
|
+
}
|
|
172
149
|
/**
|
|
173
150
|
* mainly for test
|
|
174
151
|
*
|
|
175
152
|
* @param key
|
|
176
153
|
* @return true if key is the tail node
|
|
177
154
|
*/
|
|
178
|
-
|
|
179
|
-
|
|
155
|
+
isTailNode(key) {
|
|
156
|
+
const node = this.hashtable[key];
|
|
180
157
|
return node.nextNode === this.tail;
|
|
181
|
-
}
|
|
182
|
-
|
|
183
|
-
}());
|
|
158
|
+
}
|
|
159
|
+
}
|
|
184
160
|
exports.CacheList = CacheList;
|
|
@@ -3,16 +3,16 @@
|
|
|
3
3
|
// SPDX-License-Identifier: Apache-2.0
|
|
4
4
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
5
|
exports.getCurrentSizeKey = exports.isInteger = exports.getCurrentTime = exports.getByteLength = void 0;
|
|
6
|
-
|
|
6
|
+
const constants_1 = require("../constants");
|
|
7
7
|
/**
|
|
8
8
|
* return the byte size of the string
|
|
9
9
|
* @param str
|
|
10
10
|
*/
|
|
11
11
|
function getByteLength(str) {
|
|
12
|
-
|
|
12
|
+
let ret = 0;
|
|
13
13
|
ret = str.length;
|
|
14
|
-
for (
|
|
15
|
-
|
|
14
|
+
for (let i = str.length; i >= 0; i -= 1) {
|
|
15
|
+
const charCode = str.charCodeAt(i);
|
|
16
16
|
if (charCode > 0x7f && charCode <= 0x7ff) {
|
|
17
17
|
ret += 1;
|
|
18
18
|
}
|
|
@@ -31,7 +31,7 @@ exports.getByteLength = getByteLength;
|
|
|
31
31
|
* get current time
|
|
32
32
|
*/
|
|
33
33
|
function getCurrentTime() {
|
|
34
|
-
|
|
34
|
+
const currentTime = new Date();
|
|
35
35
|
return currentTime.getTime();
|
|
36
36
|
}
|
|
37
37
|
exports.getCurrentTime = getCurrentTime;
|
|
@@ -45,7 +45,5 @@ function isInteger(value) {
|
|
|
45
45
|
return (typeof value === 'number' && isFinite(value) && Math.floor(value) === value);
|
|
46
46
|
}
|
|
47
47
|
exports.isInteger = isInteger;
|
|
48
|
-
|
|
49
|
-
return "".concat(keyPrefix).concat(constants_1.currentSizeKey);
|
|
50
|
-
};
|
|
48
|
+
const getCurrentSizeKey = (keyPrefix) => `${keyPrefix}${constants_1.currentSizeKey}`;
|
|
51
49
|
exports.getCurrentSizeKey = getCurrentSizeKey;
|
|
@@ -1,25 +1,24 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
3
3
|
// SPDX-License-Identifier: Apache-2.0
|
|
4
|
-
var _a;
|
|
5
4
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
5
|
exports.assert = exports.CacheErrorCode = void 0;
|
|
7
|
-
|
|
6
|
+
const errors_1 = require("../../errors");
|
|
8
7
|
var CacheErrorCode;
|
|
9
8
|
(function (CacheErrorCode) {
|
|
10
9
|
CacheErrorCode["NoCacheItem"] = "NoCacheItem";
|
|
11
10
|
CacheErrorCode["NullNextNode"] = "NullNextNode";
|
|
12
11
|
CacheErrorCode["NullPreviousNode"] = "NullPreviousNode";
|
|
13
12
|
})(CacheErrorCode = exports.CacheErrorCode || (exports.CacheErrorCode = {}));
|
|
14
|
-
|
|
15
|
-
|
|
13
|
+
const cacheErrorMap = {
|
|
14
|
+
[CacheErrorCode.NoCacheItem]: {
|
|
16
15
|
message: 'Item not found in the cache storage.',
|
|
17
16
|
},
|
|
18
|
-
|
|
17
|
+
[CacheErrorCode.NullNextNode]: {
|
|
19
18
|
message: 'Next node is null.',
|
|
20
19
|
},
|
|
21
|
-
|
|
20
|
+
[CacheErrorCode.NullPreviousNode]: {
|
|
22
21
|
message: 'Previous node is null.',
|
|
23
22
|
},
|
|
24
|
-
|
|
23
|
+
};
|
|
25
24
|
exports.assert = (0, errors_1.createAssertionFunction)(cacheErrorMap);
|
package/lib/Hub/index.js
CHANGED
|
@@ -1,53 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
3
3
|
// SPDX-License-Identifier: Apache-2.0
|
|
4
|
-
var __assign = (this && this.__assign) || function () {
|
|
5
|
-
__assign = Object.assign || function(t) {
|
|
6
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
7
|
-
s = arguments[i];
|
|
8
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
9
|
-
t[p] = s[p];
|
|
10
|
-
}
|
|
11
|
-
return t;
|
|
12
|
-
};
|
|
13
|
-
return __assign.apply(this, arguments);
|
|
14
|
-
};
|
|
15
|
-
var __read = (this && this.__read) || function (o, n) {
|
|
16
|
-
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
17
|
-
if (!m) return o;
|
|
18
|
-
var i = m.call(o), r, ar = [], e;
|
|
19
|
-
try {
|
|
20
|
-
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
21
|
-
}
|
|
22
|
-
catch (error) { e = { error: error }; }
|
|
23
|
-
finally {
|
|
24
|
-
try {
|
|
25
|
-
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
26
|
-
}
|
|
27
|
-
finally { if (e) throw e.error; }
|
|
28
|
-
}
|
|
29
|
-
return ar;
|
|
30
|
-
};
|
|
31
|
-
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
32
|
-
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
33
|
-
if (ar || !(i in from)) {
|
|
34
|
-
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
35
|
-
ar[i] = from[i];
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
return to.concat(ar || Array.prototype.slice.call(from));
|
|
39
|
-
};
|
|
40
4
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
41
5
|
exports.HubInternal = exports.Hub = exports.HubClass = exports.AMPLIFY_SYMBOL = void 0;
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
6
|
+
const Logger_1 = require("../Logger");
|
|
7
|
+
const constants_1 = require("../constants");
|
|
8
|
+
const errors_1 = require("../errors");
|
|
45
9
|
exports.AMPLIFY_SYMBOL = (typeof Symbol !== 'undefined' && typeof Symbol.for === 'function'
|
|
46
10
|
? Symbol.for('amplify_default')
|
|
47
11
|
: '@@amplify_default');
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
12
|
+
const logger = new Logger_1.ConsoleLogger('Hub');
|
|
13
|
+
class HubClass {
|
|
14
|
+
constructor(name) {
|
|
51
15
|
this.listeners = new Map();
|
|
52
16
|
this.protectedChannels = [
|
|
53
17
|
'core',
|
|
@@ -68,29 +32,28 @@ var HubClass = /** @class */ (function () {
|
|
|
68
32
|
* @remarks
|
|
69
33
|
* This private method is for internal use only. Instead of calling Hub.remove, call the result of Hub.listen.
|
|
70
34
|
*/
|
|
71
|
-
|
|
72
|
-
|
|
35
|
+
_remove(channel, listener) {
|
|
36
|
+
const holder = this.listeners.get(channel);
|
|
73
37
|
if (!holder) {
|
|
74
|
-
logger.warn(
|
|
38
|
+
logger.warn(`No listeners for ${channel}`);
|
|
75
39
|
return;
|
|
76
40
|
}
|
|
77
|
-
this.listeners.set(channel,
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
HubClass.prototype.dispatch = function (channel, payload, source, ampSymbol) {
|
|
41
|
+
this.listeners.set(channel, [
|
|
42
|
+
...holder.filter(({ callback }) => callback !== listener),
|
|
43
|
+
]);
|
|
44
|
+
}
|
|
45
|
+
dispatch(channel, payload, source, ampSymbol) {
|
|
83
46
|
if (typeof channel === 'string' &&
|
|
84
47
|
this.protectedChannels.indexOf(channel) > -1) {
|
|
85
|
-
|
|
48
|
+
const hasAccess = ampSymbol === exports.AMPLIFY_SYMBOL;
|
|
86
49
|
if (!hasAccess) {
|
|
87
|
-
logger.warn(
|
|
50
|
+
logger.warn(`WARNING: ${channel} is protected and dispatching on it can have unintended consequences`);
|
|
88
51
|
}
|
|
89
52
|
}
|
|
90
|
-
|
|
91
|
-
channel
|
|
92
|
-
payload:
|
|
93
|
-
source
|
|
53
|
+
const capsule = {
|
|
54
|
+
channel,
|
|
55
|
+
payload: { ...payload },
|
|
56
|
+
source,
|
|
94
57
|
patternInfo: [],
|
|
95
58
|
};
|
|
96
59
|
try {
|
|
@@ -99,11 +62,9 @@ var HubClass = /** @class */ (function () {
|
|
|
99
62
|
catch (e) {
|
|
100
63
|
logger.error(e);
|
|
101
64
|
}
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
if (listenerName === void 0) { listenerName = 'noname'; }
|
|
106
|
-
var cb;
|
|
65
|
+
}
|
|
66
|
+
listen(channel, callback, listenerName = 'noname') {
|
|
67
|
+
let cb;
|
|
107
68
|
if (typeof callback !== 'function') {
|
|
108
69
|
throw new errors_1.AmplifyError({
|
|
109
70
|
name: constants_1.NO_HUBCALLBACK_PROVIDED_EXCEPTION,
|
|
@@ -114,7 +75,7 @@ var HubClass = /** @class */ (function () {
|
|
|
114
75
|
// Needs to be casted as a more generic type
|
|
115
76
|
cb = callback;
|
|
116
77
|
}
|
|
117
|
-
|
|
78
|
+
let holder = this.listeners.get(channel);
|
|
118
79
|
if (!holder) {
|
|
119
80
|
holder = [];
|
|
120
81
|
this.listeners.set(channel, holder);
|
|
@@ -123,16 +84,16 @@ var HubClass = /** @class */ (function () {
|
|
|
123
84
|
name: listenerName,
|
|
124
85
|
callback: cb,
|
|
125
86
|
});
|
|
126
|
-
return
|
|
127
|
-
|
|
87
|
+
return () => {
|
|
88
|
+
this._remove(channel, cb);
|
|
128
89
|
};
|
|
129
|
-
}
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
90
|
+
}
|
|
91
|
+
_toListeners(capsule) {
|
|
92
|
+
const { channel, payload } = capsule;
|
|
93
|
+
const holder = this.listeners.get(channel);
|
|
133
94
|
if (holder) {
|
|
134
|
-
holder.forEach(
|
|
135
|
-
logger.debug(
|
|
95
|
+
holder.forEach(listener => {
|
|
96
|
+
logger.debug(`Dispatching to ${channel} with `, payload);
|
|
136
97
|
try {
|
|
137
98
|
listener.callback(capsule);
|
|
138
99
|
}
|
|
@@ -141,9 +102,8 @@ var HubClass = /** @class */ (function () {
|
|
|
141
102
|
}
|
|
142
103
|
});
|
|
143
104
|
}
|
|
144
|
-
}
|
|
145
|
-
|
|
146
|
-
}());
|
|
105
|
+
}
|
|
106
|
+
}
|
|
147
107
|
exports.HubClass = HubClass;
|
|
148
108
|
/*We export a __default__ instance of HubClass to use it as a
|
|
149
109
|
pseudo Singleton for the main messaging bus, however you can still create
|
package/lib/I18n/I18n.js
CHANGED
|
@@ -1,31 +1,20 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
3
3
|
// SPDX-License-Identifier: Apache-2.0
|
|
4
|
-
var __assign = (this && this.__assign) || function () {
|
|
5
|
-
__assign = Object.assign || function(t) {
|
|
6
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
7
|
-
s = arguments[i];
|
|
8
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
9
|
-
t[p] = s[p];
|
|
10
|
-
}
|
|
11
|
-
return t;
|
|
12
|
-
};
|
|
13
|
-
return __assign.apply(this, arguments);
|
|
14
|
-
};
|
|
15
4
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
5
|
exports.I18n = void 0;
|
|
17
|
-
|
|
18
|
-
|
|
6
|
+
const Logger_1 = require("../Logger");
|
|
7
|
+
const logger = new Logger_1.ConsoleLogger('I18n');
|
|
19
8
|
/**
|
|
20
9
|
* Language translation utility.
|
|
21
10
|
*/
|
|
22
|
-
|
|
11
|
+
class I18n {
|
|
23
12
|
/**
|
|
24
13
|
* @constructor
|
|
25
14
|
* Initialize with configurations
|
|
26
15
|
* @param {Object} options
|
|
27
16
|
*/
|
|
28
|
-
|
|
17
|
+
constructor() {
|
|
29
18
|
/**
|
|
30
19
|
* @private
|
|
31
20
|
*/
|
|
@@ -42,7 +31,7 @@ var I18n = /** @class */ (function () {
|
|
|
42
31
|
/**
|
|
43
32
|
* Sets the default language from the configuration when required.
|
|
44
33
|
*/
|
|
45
|
-
|
|
34
|
+
setDefaultLanguage() {
|
|
46
35
|
// Default to window language if not set in instance
|
|
47
36
|
if (!this._lang &&
|
|
48
37
|
typeof window !== 'undefined' &&
|
|
@@ -51,28 +40,27 @@ var I18n = /** @class */ (function () {
|
|
|
51
40
|
this._lang = window.navigator.language;
|
|
52
41
|
}
|
|
53
42
|
logger.debug(this._lang);
|
|
54
|
-
}
|
|
43
|
+
}
|
|
55
44
|
/**
|
|
56
45
|
* @method
|
|
57
46
|
* Explicitly setting language
|
|
58
47
|
* @param {String} lang
|
|
59
48
|
*/
|
|
60
|
-
|
|
49
|
+
setLanguage(lang) {
|
|
61
50
|
this._lang = lang;
|
|
62
|
-
}
|
|
51
|
+
}
|
|
63
52
|
/**
|
|
64
53
|
* @method
|
|
65
54
|
* Get value
|
|
66
55
|
* @param {String} key
|
|
67
56
|
* @param {String} defVal - Default value
|
|
68
57
|
*/
|
|
69
|
-
|
|
70
|
-
if (defVal === void 0) { defVal = undefined; }
|
|
58
|
+
get(key, defVal = undefined) {
|
|
71
59
|
if (!this._lang) {
|
|
72
60
|
return typeof defVal !== 'undefined' ? defVal : key;
|
|
73
61
|
}
|
|
74
|
-
|
|
75
|
-
|
|
62
|
+
const lang = this._lang;
|
|
63
|
+
let val = this.getByLanguage(key, lang);
|
|
76
64
|
if (val) {
|
|
77
65
|
return val;
|
|
78
66
|
}
|
|
@@ -83,7 +71,7 @@ var I18n = /** @class */ (function () {
|
|
|
83
71
|
return val;
|
|
84
72
|
}
|
|
85
73
|
return typeof defVal !== 'undefined' ? defVal : key;
|
|
86
|
-
}
|
|
74
|
+
}
|
|
87
75
|
/**
|
|
88
76
|
* @method
|
|
89
77
|
* Get value according to specified language
|
|
@@ -91,42 +79,39 @@ var I18n = /** @class */ (function () {
|
|
|
91
79
|
* @param {String} language - Specified langurage to be used
|
|
92
80
|
* @param {String} defVal - Default value
|
|
93
81
|
*/
|
|
94
|
-
|
|
95
|
-
if (defVal === void 0) { defVal = null; }
|
|
82
|
+
getByLanguage(key, language, defVal = null) {
|
|
96
83
|
if (!language) {
|
|
97
84
|
return defVal;
|
|
98
85
|
}
|
|
99
|
-
|
|
86
|
+
const lang_dict = this._dict[language];
|
|
100
87
|
if (!lang_dict) {
|
|
101
88
|
return defVal;
|
|
102
89
|
}
|
|
103
90
|
return lang_dict[key];
|
|
104
|
-
}
|
|
91
|
+
}
|
|
105
92
|
/**
|
|
106
93
|
* @method
|
|
107
94
|
* Add vocabularies for one language
|
|
108
95
|
* @param {String} language - Language of the dictionary
|
|
109
96
|
* @param {Object} vocabularies - Object that has key-value as dictionary entry
|
|
110
97
|
*/
|
|
111
|
-
|
|
112
|
-
|
|
98
|
+
putVocabulariesForLanguage(language, vocabularies) {
|
|
99
|
+
let lang_dict = this._dict[language];
|
|
113
100
|
if (!lang_dict) {
|
|
114
101
|
lang_dict = this._dict[language] = {};
|
|
115
102
|
}
|
|
116
|
-
this._dict[language] =
|
|
117
|
-
}
|
|
103
|
+
this._dict[language] = { ...lang_dict, ...vocabularies };
|
|
104
|
+
}
|
|
118
105
|
/**
|
|
119
106
|
* @method
|
|
120
107
|
* Add vocabularies for one language
|
|
121
108
|
* @param {Object} vocabularies - Object that has language as key,
|
|
122
109
|
* vocabularies of each language as value
|
|
123
110
|
*/
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
_this.putVocabulariesForLanguage(key, vocabularies[key]);
|
|
111
|
+
putVocabularies(vocabularies) {
|
|
112
|
+
Object.keys(vocabularies).map(key => {
|
|
113
|
+
this.putVocabulariesForLanguage(key, vocabularies[key]);
|
|
128
114
|
});
|
|
129
|
-
}
|
|
130
|
-
|
|
131
|
-
}());
|
|
115
|
+
}
|
|
116
|
+
}
|
|
132
117
|
exports.I18n = I18n;
|
package/lib/I18n/errorHelpers.js
CHANGED
|
@@ -1,17 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
3
3
|
// SPDX-License-Identifier: Apache-2.0
|
|
4
|
-
var _a;
|
|
5
4
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
5
|
exports.assert = exports.I18nErrorCode = void 0;
|
|
7
|
-
|
|
6
|
+
const errors_1 = require("../errors");
|
|
8
7
|
var I18nErrorCode;
|
|
9
8
|
(function (I18nErrorCode) {
|
|
10
9
|
I18nErrorCode["NotConfigured"] = "NotConfigured";
|
|
11
10
|
})(I18nErrorCode = exports.I18nErrorCode || (exports.I18nErrorCode = {}));
|
|
12
|
-
|
|
13
|
-
|
|
11
|
+
const i18nErrorMap = {
|
|
12
|
+
[I18nErrorCode.NotConfigured]: {
|
|
14
13
|
message: 'i18n is not configured.',
|
|
15
14
|
},
|
|
16
|
-
|
|
15
|
+
};
|
|
17
16
|
exports.assert = (0, errors_1.createAssertionFunction)(i18nErrorMap);
|