@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-esm/I18n/index.js
CHANGED
|
@@ -3,22 +3,20 @@
|
|
|
3
3
|
import { I18n as I18nClass } from './I18n';
|
|
4
4
|
import { ConsoleLogger as Logger } from '../Logger';
|
|
5
5
|
import { assert, I18nErrorCode } from './errorHelpers';
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
6
|
+
const logger = new Logger('I18n');
|
|
7
|
+
let _config = { language: null };
|
|
8
|
+
let _i18n = null;
|
|
9
9
|
/**
|
|
10
10
|
* Export I18n APIs
|
|
11
11
|
*/
|
|
12
|
-
|
|
13
|
-
function I18n() {
|
|
14
|
-
}
|
|
12
|
+
export class I18n {
|
|
15
13
|
/**
|
|
16
14
|
* @static
|
|
17
15
|
* @method
|
|
18
16
|
* Configure I18n part
|
|
19
17
|
* @param {Object} config - Configuration of the I18n
|
|
20
18
|
*/
|
|
21
|
-
|
|
19
|
+
static configure(config) {
|
|
22
20
|
logger.debug('configure I18n');
|
|
23
21
|
if (!config) {
|
|
24
22
|
return _config;
|
|
@@ -26,45 +24,45 @@ var I18n = /** @class */ (function () {
|
|
|
26
24
|
_config = Object.assign({}, _config, config.I18n || config);
|
|
27
25
|
I18n.createInstance();
|
|
28
26
|
return _config;
|
|
29
|
-
}
|
|
30
|
-
|
|
27
|
+
}
|
|
28
|
+
static getModuleName() {
|
|
31
29
|
return 'I18n';
|
|
32
|
-
}
|
|
30
|
+
}
|
|
33
31
|
/**
|
|
34
32
|
* @static
|
|
35
33
|
* @method
|
|
36
34
|
* Create an instance of I18n for the library
|
|
37
35
|
*/
|
|
38
|
-
|
|
36
|
+
static createInstance() {
|
|
39
37
|
logger.debug('create I18n instance');
|
|
40
38
|
if (_i18n) {
|
|
41
39
|
return;
|
|
42
40
|
}
|
|
43
41
|
_i18n = new I18nClass();
|
|
44
|
-
}
|
|
42
|
+
}
|
|
45
43
|
/**
|
|
46
44
|
* @static @method
|
|
47
45
|
* Explicitly setting language
|
|
48
46
|
* @param {String} lang
|
|
49
47
|
*/
|
|
50
|
-
|
|
48
|
+
static setLanguage(lang) {
|
|
51
49
|
I18n.checkConfig();
|
|
52
50
|
assert(!!_i18n, I18nErrorCode.NotConfigured);
|
|
53
51
|
return _i18n.setLanguage(lang);
|
|
54
|
-
}
|
|
52
|
+
}
|
|
55
53
|
/**
|
|
56
54
|
* @static @method
|
|
57
55
|
* Get value
|
|
58
56
|
* @param {String} key
|
|
59
57
|
* @param {String} defVal - Default value
|
|
60
58
|
*/
|
|
61
|
-
|
|
59
|
+
static get(key, defVal) {
|
|
62
60
|
if (!I18n.checkConfig()) {
|
|
63
61
|
return typeof defVal === 'undefined' ? key : defVal;
|
|
64
62
|
}
|
|
65
63
|
assert(!!_i18n, I18nErrorCode.NotConfigured);
|
|
66
64
|
return _i18n.get(key, defVal);
|
|
67
|
-
}
|
|
65
|
+
}
|
|
68
66
|
/**
|
|
69
67
|
* @static
|
|
70
68
|
* @method
|
|
@@ -72,11 +70,11 @@ var I18n = /** @class */ (function () {
|
|
|
72
70
|
* @param {String} langurage - Language of the dictionary
|
|
73
71
|
* @param {Object} vocabularies - Object that has key-value as dictionary entry
|
|
74
72
|
*/
|
|
75
|
-
|
|
73
|
+
static putVocabulariesForLanguage(language, vocabularies) {
|
|
76
74
|
I18n.checkConfig();
|
|
77
75
|
assert(!!_i18n, I18nErrorCode.NotConfigured);
|
|
78
76
|
return _i18n.putVocabulariesForLanguage(language, vocabularies);
|
|
79
|
-
}
|
|
77
|
+
}
|
|
80
78
|
/**
|
|
81
79
|
* @static
|
|
82
80
|
* @method
|
|
@@ -84,19 +82,17 @@ var I18n = /** @class */ (function () {
|
|
|
84
82
|
* @param {Object} vocabularies - Object that has language as key,
|
|
85
83
|
* vocabularies of each language as value
|
|
86
84
|
*/
|
|
87
|
-
|
|
85
|
+
static putVocabularies(vocabularies) {
|
|
88
86
|
I18n.checkConfig();
|
|
89
87
|
assert(!!_i18n, I18nErrorCode.NotConfigured);
|
|
90
88
|
return _i18n.putVocabularies(vocabularies);
|
|
91
|
-
}
|
|
92
|
-
|
|
89
|
+
}
|
|
90
|
+
static checkConfig() {
|
|
93
91
|
if (!_i18n) {
|
|
94
92
|
I18n.createInstance();
|
|
95
93
|
}
|
|
96
94
|
return true;
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
}());
|
|
100
|
-
export { I18n };
|
|
95
|
+
}
|
|
96
|
+
}
|
|
101
97
|
// Create an instance of I18n in the static class
|
|
102
98
|
I18n.createInstance();
|
package/lib-esm/I18n/types.js
CHANGED
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
2
2
|
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
-
|
|
4
|
-
|
|
3
|
+
export class I18nConfig {
|
|
4
|
+
constructor() {
|
|
5
5
|
this.language = null;
|
|
6
6
|
}
|
|
7
|
-
|
|
8
|
-
}());
|
|
9
|
-
export { I18nConfig };
|
|
7
|
+
}
|
|
@@ -1,43 +1,7 @@
|
|
|
1
1
|
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
2
2
|
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
-
var __values = (this && this.__values) || function(o) {
|
|
4
|
-
var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
|
|
5
|
-
if (m) return m.call(o);
|
|
6
|
-
if (o && typeof o.length === "number") return {
|
|
7
|
-
next: function () {
|
|
8
|
-
if (o && i >= o.length) o = void 0;
|
|
9
|
-
return { value: o && o[i++], done: !o };
|
|
10
|
-
}
|
|
11
|
-
};
|
|
12
|
-
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
|
|
13
|
-
};
|
|
14
|
-
var __read = (this && this.__read) || function (o, n) {
|
|
15
|
-
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
16
|
-
if (!m) return o;
|
|
17
|
-
var i = m.call(o), r, ar = [], e;
|
|
18
|
-
try {
|
|
19
|
-
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
20
|
-
}
|
|
21
|
-
catch (error) { e = { error: error }; }
|
|
22
|
-
finally {
|
|
23
|
-
try {
|
|
24
|
-
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
25
|
-
}
|
|
26
|
-
finally { if (e) throw e.error; }
|
|
27
|
-
}
|
|
28
|
-
return ar;
|
|
29
|
-
};
|
|
30
|
-
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
31
|
-
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
32
|
-
if (ar || !(i in from)) {
|
|
33
|
-
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
34
|
-
ar[i] = from[i];
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
return to.concat(ar || Array.prototype.slice.call(from));
|
|
38
|
-
};
|
|
39
3
|
import { AWS_CLOUDWATCH_CATEGORY } from '../constants';
|
|
40
|
-
|
|
4
|
+
const LOG_LEVELS = {
|
|
41
5
|
VERBOSE: 1,
|
|
42
6
|
DEBUG: 2,
|
|
43
7
|
INFO: 3,
|
|
@@ -56,32 +20,31 @@ export var LOG_TYPE;
|
|
|
56
20
|
* Write logs
|
|
57
21
|
* @class Logger
|
|
58
22
|
*/
|
|
59
|
-
|
|
23
|
+
class ConsoleLogger {
|
|
60
24
|
/**
|
|
61
25
|
* @constructor
|
|
62
26
|
* @param {string} name - Name of the logger
|
|
63
27
|
*/
|
|
64
|
-
|
|
65
|
-
if (level === void 0) { level = LOG_TYPE.WARN; }
|
|
28
|
+
constructor(name, level = LOG_TYPE.WARN) {
|
|
66
29
|
this.name = name;
|
|
67
30
|
this.level = level;
|
|
68
31
|
this._pluggables = [];
|
|
69
32
|
}
|
|
70
|
-
|
|
33
|
+
_padding(n) {
|
|
71
34
|
return n < 10 ? '0' + n : '' + n;
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
|
|
35
|
+
}
|
|
36
|
+
_ts() {
|
|
37
|
+
const dt = new Date();
|
|
75
38
|
return ([this._padding(dt.getMinutes()), this._padding(dt.getSeconds())].join(':') +
|
|
76
39
|
'.' +
|
|
77
40
|
dt.getMilliseconds());
|
|
78
|
-
}
|
|
79
|
-
|
|
41
|
+
}
|
|
42
|
+
configure(config) {
|
|
80
43
|
if (!config)
|
|
81
44
|
return this._config;
|
|
82
45
|
this._config = config;
|
|
83
46
|
return this._config;
|
|
84
|
-
}
|
|
47
|
+
}
|
|
85
48
|
/**
|
|
86
49
|
* Write log
|
|
87
50
|
* @method
|
|
@@ -89,156 +52,117 @@ export var ConsoleLogger = /** @class */ (function () {
|
|
|
89
52
|
* @param {LOG_TYPE|string} type - log type, default INFO
|
|
90
53
|
* @param {string|object} msg - Logging message or object
|
|
91
54
|
*/
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
var msg = [];
|
|
95
|
-
for (var _i = 1; _i < arguments.length; _i++) {
|
|
96
|
-
msg[_i - 1] = arguments[_i];
|
|
97
|
-
}
|
|
98
|
-
var logger_level_name = this.level;
|
|
55
|
+
_log(type, ...msg) {
|
|
56
|
+
let logger_level_name = this.level;
|
|
99
57
|
if (ConsoleLogger.LOG_LEVEL) {
|
|
100
58
|
logger_level_name = ConsoleLogger.LOG_LEVEL;
|
|
101
59
|
}
|
|
102
60
|
if (typeof window !== 'undefined' && window.LOG_LEVEL) {
|
|
103
61
|
logger_level_name = window.LOG_LEVEL;
|
|
104
62
|
}
|
|
105
|
-
|
|
106
|
-
|
|
63
|
+
const logger_level = LOG_LEVELS[logger_level_name];
|
|
64
|
+
const type_level = LOG_LEVELS[type];
|
|
107
65
|
if (!(type_level >= logger_level)) {
|
|
108
66
|
// Do nothing if type is not greater than or equal to logger level (handle undefined)
|
|
109
67
|
return;
|
|
110
68
|
}
|
|
111
|
-
|
|
69
|
+
let log = console.log.bind(console);
|
|
112
70
|
if (type === LOG_TYPE.ERROR && console.error) {
|
|
113
71
|
log = console.error.bind(console);
|
|
114
72
|
}
|
|
115
73
|
if (type === LOG_TYPE.WARN && console.warn) {
|
|
116
74
|
log = console.warn.bind(console);
|
|
117
75
|
}
|
|
118
|
-
|
|
119
|
-
|
|
76
|
+
const prefix = `[${type}] ${this._ts()} ${this.name}`;
|
|
77
|
+
let message = '';
|
|
120
78
|
if (msg.length === 1 && typeof msg[0] === 'string') {
|
|
121
|
-
message =
|
|
79
|
+
message = `${prefix} - ${msg[0]}`;
|
|
122
80
|
log(message);
|
|
123
81
|
}
|
|
124
82
|
else if (msg.length === 1) {
|
|
125
|
-
message =
|
|
83
|
+
message = `${prefix} ${msg[0]}`;
|
|
126
84
|
log(prefix, msg[0]);
|
|
127
85
|
}
|
|
128
86
|
else if (typeof msg[0] === 'string') {
|
|
129
|
-
|
|
87
|
+
let obj = msg.slice(1);
|
|
130
88
|
if (obj.length === 1) {
|
|
131
89
|
obj = obj[0];
|
|
132
90
|
}
|
|
133
|
-
message =
|
|
134
|
-
log(
|
|
91
|
+
message = `${prefix} - ${msg[0]} ${obj}`;
|
|
92
|
+
log(`${prefix} - ${msg[0]}`, obj);
|
|
135
93
|
}
|
|
136
94
|
else {
|
|
137
|
-
message =
|
|
95
|
+
message = `${prefix} ${msg}`;
|
|
138
96
|
log(prefix, msg);
|
|
139
97
|
}
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
var logEvent = { message: message, timestamp: Date.now() };
|
|
144
|
-
plugin.pushLogs([logEvent]);
|
|
145
|
-
}
|
|
146
|
-
}
|
|
147
|
-
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
148
|
-
finally {
|
|
149
|
-
try {
|
|
150
|
-
if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
|
|
151
|
-
}
|
|
152
|
-
finally { if (e_1) throw e_1.error; }
|
|
98
|
+
for (const plugin of this._pluggables) {
|
|
99
|
+
const logEvent = { message, timestamp: Date.now() };
|
|
100
|
+
plugin.pushLogs([logEvent]);
|
|
153
101
|
}
|
|
154
|
-
}
|
|
102
|
+
}
|
|
155
103
|
/**
|
|
156
104
|
* Write General log. Default to INFO
|
|
157
105
|
* @method
|
|
158
106
|
* @memeberof Logger
|
|
159
107
|
* @param {string|object} msg - Logging message or object
|
|
160
108
|
*/
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
msg[_i] = arguments[_i];
|
|
165
|
-
}
|
|
166
|
-
this._log.apply(this, __spreadArray([LOG_TYPE.INFO], __read(msg), false));
|
|
167
|
-
};
|
|
109
|
+
log(...msg) {
|
|
110
|
+
this._log(LOG_TYPE.INFO, ...msg);
|
|
111
|
+
}
|
|
168
112
|
/**
|
|
169
113
|
* Write INFO log
|
|
170
114
|
* @method
|
|
171
115
|
* @memeberof Logger
|
|
172
116
|
* @param {string|object} msg - Logging message or object
|
|
173
117
|
*/
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
msg[_i] = arguments[_i];
|
|
178
|
-
}
|
|
179
|
-
this._log.apply(this, __spreadArray([LOG_TYPE.INFO], __read(msg), false));
|
|
180
|
-
};
|
|
118
|
+
info(...msg) {
|
|
119
|
+
this._log(LOG_TYPE.INFO, ...msg);
|
|
120
|
+
}
|
|
181
121
|
/**
|
|
182
122
|
* Write WARN log
|
|
183
123
|
* @method
|
|
184
124
|
* @memeberof Logger
|
|
185
125
|
* @param {string|object} msg - Logging message or object
|
|
186
126
|
*/
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
msg[_i] = arguments[_i];
|
|
191
|
-
}
|
|
192
|
-
this._log.apply(this, __spreadArray([LOG_TYPE.WARN], __read(msg), false));
|
|
193
|
-
};
|
|
127
|
+
warn(...msg) {
|
|
128
|
+
this._log(LOG_TYPE.WARN, ...msg);
|
|
129
|
+
}
|
|
194
130
|
/**
|
|
195
131
|
* Write ERROR log
|
|
196
132
|
* @method
|
|
197
133
|
* @memeberof Logger
|
|
198
134
|
* @param {string|object} msg - Logging message or object
|
|
199
135
|
*/
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
msg[_i] = arguments[_i];
|
|
204
|
-
}
|
|
205
|
-
this._log.apply(this, __spreadArray([LOG_TYPE.ERROR], __read(msg), false));
|
|
206
|
-
};
|
|
136
|
+
error(...msg) {
|
|
137
|
+
this._log(LOG_TYPE.ERROR, ...msg);
|
|
138
|
+
}
|
|
207
139
|
/**
|
|
208
140
|
* Write DEBUG log
|
|
209
141
|
* @method
|
|
210
142
|
* @memeberof Logger
|
|
211
143
|
* @param {string|object} msg - Logging message or object
|
|
212
144
|
*/
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
msg[_i] = arguments[_i];
|
|
217
|
-
}
|
|
218
|
-
this._log.apply(this, __spreadArray([LOG_TYPE.DEBUG], __read(msg), false));
|
|
219
|
-
};
|
|
145
|
+
debug(...msg) {
|
|
146
|
+
this._log(LOG_TYPE.DEBUG, ...msg);
|
|
147
|
+
}
|
|
220
148
|
/**
|
|
221
149
|
* Write VERBOSE log
|
|
222
150
|
* @method
|
|
223
151
|
* @memeberof Logger
|
|
224
152
|
* @param {string|object} msg - Logging message or object
|
|
225
153
|
*/
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
}
|
|
231
|
-
this._log.apply(this, __spreadArray([LOG_TYPE.VERBOSE], __read(msg), false));
|
|
232
|
-
};
|
|
233
|
-
ConsoleLogger.prototype.addPluggable = function (pluggable) {
|
|
154
|
+
verbose(...msg) {
|
|
155
|
+
this._log(LOG_TYPE.VERBOSE, ...msg);
|
|
156
|
+
}
|
|
157
|
+
addPluggable(pluggable) {
|
|
234
158
|
if (pluggable && pluggable.getCategoryName() === AWS_CLOUDWATCH_CATEGORY) {
|
|
235
159
|
this._pluggables.push(pluggable);
|
|
236
160
|
pluggable.configure(this._config);
|
|
237
161
|
}
|
|
238
|
-
}
|
|
239
|
-
|
|
162
|
+
}
|
|
163
|
+
listPluggables() {
|
|
240
164
|
return this._pluggables;
|
|
241
|
-
}
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
}
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
ConsoleLogger.LOG_LEVEL = null;
|
|
168
|
+
export { ConsoleLogger };
|
package/lib-esm/Mutex/Mutex.js
CHANGED
|
@@ -23,27 +23,24 @@
|
|
|
23
23
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
24
24
|
* THE SOFTWARE.
|
|
25
25
|
*/
|
|
26
|
-
|
|
27
|
-
|
|
26
|
+
export class Mutex {
|
|
27
|
+
constructor() {
|
|
28
28
|
this._queue = [];
|
|
29
29
|
this._pending = false;
|
|
30
30
|
}
|
|
31
|
-
|
|
31
|
+
isLocked() {
|
|
32
32
|
return this._pending;
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
var ticket = new Promise(function (resolve) {
|
|
37
|
-
return _this._queue.push(resolve);
|
|
38
|
-
});
|
|
33
|
+
}
|
|
34
|
+
acquire() {
|
|
35
|
+
const ticket = new Promise(resolve => this._queue.push(resolve));
|
|
39
36
|
if (!this._pending) {
|
|
40
37
|
this._dispatchNext();
|
|
41
38
|
}
|
|
42
39
|
return ticket;
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
return this.acquire().then(
|
|
46
|
-
|
|
40
|
+
}
|
|
41
|
+
runExclusive(callback) {
|
|
42
|
+
return this.acquire().then(release => {
|
|
43
|
+
let result;
|
|
47
44
|
try {
|
|
48
45
|
result = callback();
|
|
49
46
|
}
|
|
@@ -51,13 +48,13 @@ var Mutex = /** @class */ (function () {
|
|
|
51
48
|
release();
|
|
52
49
|
throw e;
|
|
53
50
|
}
|
|
54
|
-
return Promise.resolve(result).then(
|
|
51
|
+
return Promise.resolve(result).then((x) => (release(), x), e => {
|
|
55
52
|
release();
|
|
56
53
|
throw e;
|
|
57
54
|
});
|
|
58
55
|
});
|
|
59
|
-
}
|
|
60
|
-
|
|
56
|
+
}
|
|
57
|
+
_dispatchNext() {
|
|
61
58
|
if (this._queue.length > 0) {
|
|
62
59
|
this._pending = true;
|
|
63
60
|
this._queue.shift()(this._dispatchNext.bind(this));
|
|
@@ -65,7 +62,5 @@ var Mutex = /** @class */ (function () {
|
|
|
65
62
|
else {
|
|
66
63
|
this._pending = false;
|
|
67
64
|
}
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
}());
|
|
71
|
-
export { Mutex };
|
|
65
|
+
}
|
|
66
|
+
}
|
|
@@ -1,18 +1,7 @@
|
|
|
1
1
|
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
2
2
|
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
-
var __assign = (this && this.__assign) || function () {
|
|
4
|
-
__assign = Object.assign || function(t) {
|
|
5
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
6
|
-
s = arguments[i];
|
|
7
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
8
|
-
t[p] = s[p];
|
|
9
|
-
}
|
|
10
|
-
return t;
|
|
11
|
-
};
|
|
12
|
-
return __assign.apply(this, arguments);
|
|
13
|
-
};
|
|
14
3
|
// Maintains custom user-agent state set by external consumers.
|
|
15
|
-
|
|
4
|
+
const customUserAgentState = {};
|
|
16
5
|
/**
|
|
17
6
|
* Sets custom user agent state which will be appended to applicable requests. Returns a function that can be used to
|
|
18
7
|
* clean up any custom state set with this API.
|
|
@@ -26,28 +15,26 @@ var customUserAgentState = {};
|
|
|
26
15
|
*
|
|
27
16
|
* @param input - SetCustomUserAgentInput that defines custom state to apply to the specified APIs.
|
|
28
17
|
*/
|
|
29
|
-
export
|
|
30
|
-
var _a;
|
|
18
|
+
export const setCustomUserAgent = (input) => {
|
|
31
19
|
// Save custom user-agent state & increment reference counter
|
|
32
20
|
// TODO Remove `any` when we upgrade to TypeScript 5.2, see: https://github.com/microsoft/TypeScript/issues/44373
|
|
33
|
-
customUserAgentState[input.category] = input.apis.reduce(
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
refCount: ((_b = acc[api]) === null || _b === void 0 ? void 0 : _b.refCount) ? acc[api].refCount + 1 : 1,
|
|
21
|
+
customUserAgentState[input.category] = input.apis.reduce((acc, api) => ({
|
|
22
|
+
...acc,
|
|
23
|
+
[api]: {
|
|
24
|
+
refCount: acc[api]?.refCount ? acc[api].refCount + 1 : 1,
|
|
38
25
|
additionalDetails: input.additionalDetails,
|
|
39
|
-
},
|
|
40
|
-
},
|
|
26
|
+
},
|
|
27
|
+
}), customUserAgentState[input.category] ?? {});
|
|
41
28
|
// Callback that cleans up state for APIs recorded by this call
|
|
42
|
-
|
|
43
|
-
|
|
29
|
+
let cleanUpCallbackCalled = false;
|
|
30
|
+
const cleanUpCallback = () => {
|
|
44
31
|
// Only allow the cleanup callback to be called once
|
|
45
32
|
if (cleanUpCallbackCalled) {
|
|
46
33
|
return;
|
|
47
34
|
}
|
|
48
35
|
cleanUpCallbackCalled = true;
|
|
49
|
-
input.apis.forEach(
|
|
50
|
-
|
|
36
|
+
input.apis.forEach(api => {
|
|
37
|
+
const apiRefCount = customUserAgentState[input.category][api].refCount;
|
|
51
38
|
if (apiRefCount > 1) {
|
|
52
39
|
customUserAgentState[input.category][api].refCount = apiRefCount - 1;
|
|
53
40
|
}
|
|
@@ -62,4 +49,4 @@ export var setCustomUserAgent = function (input) {
|
|
|
62
49
|
};
|
|
63
50
|
return cleanUpCallback;
|
|
64
51
|
};
|
|
65
|
-
export
|
|
52
|
+
export const getCustomUserAgent = (category, api) => customUserAgentState[category]?.[api]?.additionalDetails;
|
|
@@ -3,15 +3,14 @@
|
|
|
3
3
|
import { Framework } from './types';
|
|
4
4
|
import { detect } from './detection';
|
|
5
5
|
// We want to cache detection since the framework won't change
|
|
6
|
-
|
|
7
|
-
export
|
|
6
|
+
let frameworkCache;
|
|
7
|
+
export const frameworkChangeObservers = [];
|
|
8
8
|
// Setup the detection reset tracking / timeout delays
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
export
|
|
14
|
-
var _a;
|
|
9
|
+
let resetTriggered = false;
|
|
10
|
+
const SSR_RESET_TIMEOUT = 10; // ms
|
|
11
|
+
const WEB_RESET_TIMEOUT = 10; // ms
|
|
12
|
+
const PRIME_FRAMEWORK_DELAY = 1000; // ms
|
|
13
|
+
export const detectFramework = () => {
|
|
15
14
|
if (!frameworkCache) {
|
|
16
15
|
frameworkCache = detect();
|
|
17
16
|
if (resetTriggered) {
|
|
@@ -20,13 +19,13 @@ export var detectFramework = function () {
|
|
|
20
19
|
// So we don't need to notify the observers again so the observer
|
|
21
20
|
// can be removed after the final notice.
|
|
22
21
|
while (frameworkChangeObservers.length) {
|
|
23
|
-
|
|
22
|
+
frameworkChangeObservers.pop()?.();
|
|
24
23
|
}
|
|
25
24
|
}
|
|
26
25
|
else {
|
|
27
26
|
// The first run of detectFramework:
|
|
28
27
|
// Every time we update the cache, call each observer function
|
|
29
|
-
frameworkChangeObservers.forEach(
|
|
28
|
+
frameworkChangeObservers.forEach(fcn => fcn());
|
|
30
29
|
}
|
|
31
30
|
// Retry once for either Unknown type after a delay (explained below)
|
|
32
31
|
resetTimeout(Framework.ServerSideUnknown, SSR_RESET_TIMEOUT);
|
|
@@ -37,7 +36,7 @@ export var detectFramework = function () {
|
|
|
37
36
|
/**
|
|
38
37
|
* @internal Setup observer callback that will be called everytime the framework changes
|
|
39
38
|
*/
|
|
40
|
-
export
|
|
39
|
+
export const observeFrameworkChanges = (fcn) => {
|
|
41
40
|
// When the `frameworkCache` won't be updated again, we ignore all incoming
|
|
42
41
|
// observers.
|
|
43
42
|
if (resetTriggered) {
|
|
@@ -56,7 +55,7 @@ export function clearCache() {
|
|
|
56
55
|
// non-framework detection result for all requests.
|
|
57
56
|
function resetTimeout(framework, delay) {
|
|
58
57
|
if (frameworkCache === framework && !resetTriggered) {
|
|
59
|
-
setTimeout(
|
|
58
|
+
setTimeout(() => {
|
|
60
59
|
clearCache();
|
|
61
60
|
resetTriggered = true;
|
|
62
61
|
setTimeout(detectFramework, PRIME_FRAMEWORK_DELAY);
|
|
@@ -3,16 +3,15 @@
|
|
|
3
3
|
import { documentExists, processExists, windowExists } from './helpers';
|
|
4
4
|
// Tested with @angular/core 16.0.0
|
|
5
5
|
export function angularWebDetect() {
|
|
6
|
-
|
|
7
|
-
|
|
6
|
+
const angularVersionSetInDocument = Boolean(documentExists() && document.querySelector('[ng-version]'));
|
|
7
|
+
const angularContentSetInWindow = Boolean(
|
|
8
8
|
// @ts-ignore
|
|
9
9
|
windowExists() && typeof window['ng'] !== 'undefined');
|
|
10
10
|
return angularVersionSetInDocument || angularContentSetInWindow;
|
|
11
11
|
}
|
|
12
12
|
export function angularSSRDetect() {
|
|
13
|
-
var _a;
|
|
14
13
|
return ((processExists() &&
|
|
15
14
|
typeof process.env === 'object' &&
|
|
16
|
-
|
|
15
|
+
process.env['npm_lifecycle_script']?.startsWith('ng ')) ||
|
|
17
16
|
false);
|
|
18
17
|
}
|
|
@@ -3,18 +3,18 @@
|
|
|
3
3
|
import { documentExists, processExists } from './helpers';
|
|
4
4
|
// Tested with react 18.2 - built using Vite
|
|
5
5
|
export function reactWebDetect() {
|
|
6
|
-
|
|
6
|
+
const elementKeyPrefixedWithReact = (key) => {
|
|
7
7
|
return key.startsWith('_react') || key.startsWith('__react');
|
|
8
8
|
};
|
|
9
|
-
|
|
9
|
+
const elementIsReactEnabled = (element) => {
|
|
10
10
|
return Object.keys(element).find(elementKeyPrefixedWithReact);
|
|
11
11
|
};
|
|
12
|
-
|
|
12
|
+
const allElementsWithId = () => Array.from(document.querySelectorAll('[id]'));
|
|
13
13
|
return documentExists() && allElementsWithId().some(elementIsReactEnabled);
|
|
14
14
|
}
|
|
15
15
|
export function reactSSRDetect() {
|
|
16
16
|
return (processExists() &&
|
|
17
17
|
typeof process.env !== 'undefined' &&
|
|
18
|
-
!!Object.keys(process.env).find(
|
|
18
|
+
!!Object.keys(process.env).find(key => key.includes('react')));
|
|
19
19
|
}
|
|
20
20
|
// use the some
|
|
@@ -8,5 +8,5 @@ export function svelteWebDetect() {
|
|
|
8
8
|
export function svelteSSRDetect() {
|
|
9
9
|
return (processExists() &&
|
|
10
10
|
typeof process.env !== 'undefined' &&
|
|
11
|
-
!!Object.keys(process.env).find(
|
|
11
|
+
!!Object.keys(process.env).find(key => key.includes('svelte')));
|
|
12
12
|
}
|