{"version":3,"file":"initializeInAppMessaging.mjs","sources":["../../../../../../src/inAppMessaging/providers/pinpoint/apis/initializeInAppMessaging.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { sessionListener } from '@aws-amplify/core/internals/utils';\nimport { Hub } from '@aws-amplify/core';\nimport { addEventListener } from '../../../../eventListeners';\nimport { recordAnalyticsEvent } from '../utils/helpers';\nimport { PinpointMessageEvent } from '../types';\nimport { incrementMessageCounts, sessionStateChangeHandler } from '../utils';\nimport { initialize, isInitialized } from '../../../utils';\nimport { dispatchEvent } from './dispatchEvent';\n/**\n * Initialize and set up in-app messaging category. This API needs to be called to enable other InAppMessaging APIs.\n *\n * @deprecated AWS will end support for Amazon Pinpoint on October 30, 2026.\n *\n * @remarks\n * Make sure to call this early in your app at the root entry point after configuring Amplify.\n * @example\n * ```ts\n * Amplify.configure(config);\n * initializeInAppMessaging();\n * ```\n */\nexport function initializeInAppMessaging() {\n    if (isInitialized()) {\n        return;\n    }\n    // register with the session listener\n    sessionListener.addStateChangeListener(sessionStateChangeHandler, true);\n    // wire up default Pinpoint message event handling\n    addEventListener('messageDisplayed', (message) => {\n        recordAnalyticsEvent(PinpointMessageEvent.MESSAGE_DISPLAYED, message);\n        incrementMessageCounts(message.id);\n    });\n    addEventListener('messageDismissed', (message) => {\n        recordAnalyticsEvent(PinpointMessageEvent.MESSAGE_DISMISSED, message);\n    });\n    addEventListener('messageActionTaken', (message) => {\n        recordAnalyticsEvent(PinpointMessageEvent.MESSAGE_ACTION_TAKEN, message);\n    });\n    // listen to analytics hub events\n    Hub.listen('analytics', analyticsListener);\n    initialize();\n}\nfunction analyticsListener({ payload, }) {\n    const { event, data } = payload;\n    switch (event) {\n        case 'record': {\n            dispatchEvent(data);\n            break;\n        }\n        default:\n            break;\n    }\n}\n"],"names":[],"mappings":";;;;;;;;;;AAAA;AACA;AASA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAAS,wBAAwB,GAAG;AAC3C,IAAI,IAAI,aAAa,EAAE,EAAE;AACzB,QAAQ;AACR,IAAI;AACJ;AACA,IAAI,eAAe,CAAC,sBAAsB,CAAC,yBAAyB,EAAE,IAAI,CAAC;AAC3E;AACA,IAAI,gBAAgB,CAAC,kBAAkB,EAAE,CAAC,OAAO,KAAK;AACtD,QAAQ,oBAAoB,CAAC,oBAAoB,CAAC,iBAAiB,EAAE,OAAO,CAAC;AAC7E,QAAQ,sBAAsB,CAAC,OAAO,CAAC,EAAE,CAAC;AAC1C,IAAI,CAAC,CAAC;AACN,IAAI,gBAAgB,CAAC,kBAAkB,EAAE,CAAC,OAAO,KAAK;AACtD,QAAQ,oBAAoB,CAAC,oBAAoB,CAAC,iBAAiB,EAAE,OAAO,CAAC;AAC7E,IAAI,CAAC,CAAC;AACN,IAAI,gBAAgB,CAAC,oBAAoB,EAAE,CAAC,OAAO,KAAK;AACxD,QAAQ,oBAAoB,CAAC,oBAAoB,CAAC,oBAAoB,EAAE,OAAO,CAAC;AAChF,IAAI,CAAC,CAAC;AACN;AACA,IAAI,GAAG,CAAC,MAAM,CAAC,WAAW,EAAE,iBAAiB,CAAC;AAC9C,IAAI,UAAU,EAAE;AAChB;AACA,SAAS,iBAAiB,CAAC,EAAE,OAAO,GAAG,EAAE;AACzC,IAAI,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,OAAO;AACnC,IAAI,QAAQ,KAAK;AACjB,QAAQ,KAAK,QAAQ,EAAE;AACvB,YAAY,aAAa,CAAC,IAAI,CAAC;AAC/B,YAAY;AACZ,QAAQ;AAGR;AACA;;;;"}