UNPKG

@aws-amplify/analytics

Version:

Analytics category of aws-amplify

47 lines (40 loc) 1.11 kB
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 import { Amplify } from '@aws-amplify/core'; import { AnalyticsValidationErrorCode, assertValidationError, } from '../../../errors'; import { DEFAULT_PERSONALIZE_CONFIG, PERSONALIZE_FLUSH_SIZE_MAX, } from './constants'; export const resolveConfig = () => { const config = Amplify.getConfig().Analytics?.Personalize; const { region, trackingId, flushSize = DEFAULT_PERSONALIZE_CONFIG.flushSize, flushInterval = DEFAULT_PERSONALIZE_CONFIG.flushInterval, } = { ...DEFAULT_PERSONALIZE_CONFIG, ...config, }; assertValidationError(!!region, AnalyticsValidationErrorCode.NoRegion); assertValidationError( !!trackingId, AnalyticsValidationErrorCode.NoTrackingId, ); assertValidationError( flushSize <= PERSONALIZE_FLUSH_SIZE_MAX, AnalyticsValidationErrorCode.InvalidFlushSize, `FlushSize for Personalize should be less or equal than ${PERSONALIZE_FLUSH_SIZE_MAX}`, ); return { region, trackingId, bufferSize: flushSize + 1, flushSize, flushInterval, }; };