{"version":3,"file":"record.mjs","sources":["../../../../../src/providers/personalize/apis/record.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { autoTrackMedia, getEventBuffer, resolveCachedSession, resolveConfig, updateCachedSession, } from '../utils';\nimport { getAnalyticsUserAgentString, isAnalyticsEnabled, resolveCredentials, } from '../../../utils';\nimport { AnalyticsAction } from '@aws-amplify/core/internals/utils';\nimport { ConsoleLogger } from '@aws-amplify/core';\nimport { IDENTIFY_EVENT_TYPE, MEDIA_AUTO_TRACK_EVENT_TYPE, } from '../utils/constants';\nconst logger = new ConsoleLogger('Personalize');\nexport const record = ({ userId, eventId, eventType, properties, }) => {\n    if (!isAnalyticsEnabled()) {\n        logger.debug('Analytics is disabled, event will not be recorded.');\n        return;\n    }\n    const { region, trackingId, bufferSize, flushSize, flushInterval } = resolveConfig();\n    resolveCredentials()\n        .then(async ({ credentials, identityId }) => {\n        const timestamp = Date.now();\n        const { sessionId: cachedSessionId, userId: cachedUserId } = await resolveCachedSession();\n        if (eventType === IDENTIFY_EVENT_TYPE) {\n            updateCachedSession(typeof properties.userId === 'string' ? properties.userId : '', cachedSessionId, cachedUserId);\n        }\n        else if (!!userId) {\n            updateCachedSession(userId, cachedSessionId, cachedUserId);\n        }\n        const { sessionId: updatedSessionId, userId: updatedUserId } = await resolveCachedSession();\n        const eventBuffer = getEventBuffer({\n            region,\n            flushSize,\n            flushInterval,\n            bufferSize,\n            credentials,\n            identityId,\n            userAgentValue: getAnalyticsUserAgentString(AnalyticsAction.Record),\n        });\n        if (eventType === MEDIA_AUTO_TRACK_EVENT_TYPE) {\n            autoTrackMedia({\n                trackingId,\n                sessionId: updatedSessionId,\n                userId: updatedUserId,\n                event: {\n                    eventId,\n                    eventType,\n                    properties,\n                },\n            }, eventBuffer);\n        }\n        else {\n            eventBuffer.append({\n                trackingId,\n                sessionId: updatedSessionId,\n                userId: updatedUserId,\n                event: {\n                    eventId,\n                    eventType,\n                    properties,\n                },\n                timestamp,\n            });\n        }\n        if (eventBuffer.length >= bufferSize) {\n            eventBuffer.flushAll();\n        }\n    })\n        .catch(e => {\n        logger.warn('Failed to record event.', e);\n    });\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA;AACA;AAMA,MAAM,MAAM,GAAG,IAAI,aAAa,CAAC,aAAa,CAAC,CAAC;AACpC,MAAC,MAAM,GAAG,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,GAAG,KAAK;AACvE,IAAI,IAAI,CAAC,kBAAkB,EAAE,EAAE;AAC/B,QAAQ,MAAM,CAAC,KAAK,CAAC,oDAAoD,CAAC,CAAC;AAC3E,QAAQ,OAAO;AACf,KAAK;AACL,IAAI,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,GAAG,aAAa,EAAE,CAAC;AACzF,IAAI,kBAAkB,EAAE;AACxB,SAAS,IAAI,CAAC,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,KAAK;AACrD,QAAQ,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;AACrC,QAAQ,MAAM,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,oBAAoB,EAAE,CAAC;AAClG,QAAQ,IAAI,SAAS,KAAK,mBAAmB,EAAE;AAC/C,YAAY,mBAAmB,CAAC,OAAO,UAAU,CAAC,MAAM,KAAK,QAAQ,GAAG,UAAU,CAAC,MAAM,GAAG,EAAE,EAAE,eAAe,EAAE,YAAY,CAAC,CAAC;AAC/H,SAAS;AACT,aAAa,IAAI,CAAC,CAAC,MAAM,EAAE;AAC3B,YAAY,mBAAmB,CAAC,MAAM,EAAE,eAAe,EAAE,YAAY,CAAC,CAAC;AACvE,SAAS;AACT,QAAQ,MAAM,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,oBAAoB,EAAE,CAAC;AACpG,QAAQ,MAAM,WAAW,GAAG,cAAc,CAAC;AAC3C,YAAY,MAAM;AAClB,YAAY,SAAS;AACrB,YAAY,aAAa;AACzB,YAAY,UAAU;AACtB,YAAY,WAAW;AACvB,YAAY,UAAU;AACtB,YAAY,cAAc,EAAE,2BAA2B,CAAC,eAAe,CAAC,MAAM,CAAC;AAC/E,SAAS,CAAC,CAAC;AACX,QAAQ,IAAI,SAAS,KAAK,2BAA2B,EAAE;AACvD,YAAY,cAAc,CAAC;AAC3B,gBAAgB,UAAU;AAC1B,gBAAgB,SAAS,EAAE,gBAAgB;AAC3C,gBAAgB,MAAM,EAAE,aAAa;AACrC,gBAAgB,KAAK,EAAE;AACvB,oBAAoB,OAAO;AAC3B,oBAAoB,SAAS;AAC7B,oBAAoB,UAAU;AAC9B,iBAAiB;AACjB,aAAa,EAAE,WAAW,CAAC,CAAC;AAC5B,SAAS;AACT,aAAa;AACb,YAAY,WAAW,CAAC,MAAM,CAAC;AAC/B,gBAAgB,UAAU;AAC1B,gBAAgB,SAAS,EAAE,gBAAgB;AAC3C,gBAAgB,MAAM,EAAE,aAAa;AACrC,gBAAgB,KAAK,EAAE;AACvB,oBAAoB,OAAO;AAC3B,oBAAoB,SAAS;AAC7B,oBAAoB,UAAU;AAC9B,iBAAiB;AACjB,gBAAgB,SAAS;AACzB,aAAa,CAAC,CAAC;AACf,SAAS;AACT,QAAQ,IAAI,WAAW,CAAC,MAAM,IAAI,UAAU,EAAE;AAC9C,YAAY,WAAW,CAAC,QAAQ,EAAE,CAAC;AACnC,SAAS;AACT,KAAK,CAAC;AACN,SAAS,KAAK,CAAC,CAAC,IAAI;AACpB,QAAQ,MAAM,CAAC,IAAI,CAAC,yBAAyB,EAAE,CAAC,CAAC,CAAC;AAClD,KAAK,CAAC,CAAC;AACP;;;;"}