From d99f8d4afb1e557d46b2fd2bc6d13dc11da67a60 Mon Sep 17 00:00:00 2001 From: Arun Lodhi Date: Fri, 21 Feb 2025 04:32:27 +0530 Subject: [PATCH] Add type MoEInAppClickData for better type inference --- sdk/core/src/index.ts | 4 +++- sdk/core/src/models/MoEInAppClickData.ts | 19 +++++++++++++++++++ sdk/core/src/moeParser/MoEInAppParser.ts | 3 ++- 3 files changed, 24 insertions(+), 2 deletions(-) create mode 100644 sdk/core/src/models/MoEInAppClickData.ts diff --git a/sdk/core/src/index.ts b/sdk/core/src/index.ts index 7d94f35..a900dd8 100644 --- a/sdk/core/src/index.ts +++ b/sdk/core/src/index.ts @@ -59,6 +59,7 @@ import { MoEngageNudgePosition } from "../src/models/MoEngageNudgePosition"; import MoEAnalyticsConfig from "../src/models/MoEAnalyticsConfig"; import { MoESupportedAttributes } from "./models/MoESupportedAttributes"; import * as MoECoreHandler from "./utils/MoECoreHandler"; +import MoEInAppClickData from "./models/MoEInAppClickData"; const PLATFORM_IOS = "ios"; const PLATFORM_ANDROID = "android"; @@ -137,7 +138,7 @@ type NotificationEventTypeMap = { "pushTokenGenerated": MoEPushToken, "pushClicked": MoEPushPayload, "inAppCampaignShown": MoEInAppData, - "inAppCampaignClicked": MoEInAppData, + "inAppCampaignClicked": MoEInAppClickData, "inAppCampaignDismissed": MoEInAppData, "inAppCampaignCustomAction": MoEInAppData, "inAppCampaignSelfHandled": MoESelfHandledCampaignData @@ -755,6 +756,7 @@ var ReactMoE = { export { MoEInAppCustomAction, MoEInAppNavigation, + MoEInAppClickData, MoESelfHandledCampaignData, MoEGeoLocation, MoEProperties, diff --git a/sdk/core/src/models/MoEInAppClickData.ts b/sdk/core/src/models/MoEInAppClickData.ts new file mode 100644 index 0000000..63d1e23 --- /dev/null +++ b/sdk/core/src/models/MoEInAppClickData.ts @@ -0,0 +1,19 @@ +import MoEAccountMeta from "./MoEAccountMeta"; +import MoECampaignData from "./MoECampaignData"; +import MoEInAppNavigation from "./MoEInAppNavigation"; +import { MoEPlatform } from "./MoEPlatform"; + +export default class MoEInAppClickData { + accountMeta: MoEAccountMeta; + platform: MoEPlatform; + campaignData: MoECampaignData; + action: MoEInAppNavigation; + + constructor(accountMeta: MoEAccountMeta, platform: MoEPlatform, campaignData: MoECampaignData, action: MoEInAppNavigation) { + this.accountMeta = accountMeta; + this.platform = platform; + this.campaignData = campaignData; + this.action = action; + } + +} \ No newline at end of file diff --git a/sdk/core/src/moeParser/MoEInAppParser.ts b/sdk/core/src/moeParser/MoEInAppParser.ts index 236fd49..fa9765c 100644 --- a/sdk/core/src/moeParser/MoEInAppParser.ts +++ b/sdk/core/src/moeParser/MoEInAppParser.ts @@ -2,6 +2,7 @@ import MoEngageLogger from "../logger/MoEngageLogger"; import MoECampaignContext from "../models/MoECampaignContext"; import MoECampaignData from "../models/MoECampaignData"; import MoEClickData from "../models/MoEClickData"; +import MoEInAppClickData from "../models/MoEInAppClickData"; import MoEInAppCustomAction from "../models/MoEInAppCustomAction"; import MoEInAppData from "../models/MoEInAppData"; import MoEInAppNavigation from "../models/MoEInAppNavigation"; @@ -222,7 +223,7 @@ export function getNavigationObj(json: { [k: string]: any }, accountMetaPayload: var platform = json[MOE_PLATFORM]; var accountMeta = getMoEAccountMeta(accountMetaPayload); var action = getMoEInAppNavigation(json); - return new MoEClickData(accountMeta, platform, campaignData, action); + return new MoEInAppClickData(accountMeta, platform, campaignData, action); } else return undefined }