@magicpixel/rn-mp-client-sdk 0.8.2 → 0.8.5

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.
@@ -17,7 +17,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
17
17
 
18
18
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
19
19
 
20
- const CORE_VERSION = '0.8.1';
20
+ const CORE_VERSION = '0.8.5';
21
21
 
22
22
  class DataStore {
23
23
  static async init(clientSdk) {
@@ -1 +1 @@
1
- {"version":3,"names":["CORE_VERSION","DataStore","init","clientSdk","setMpEnv","s","ev","Platform","OS","devicePlatform","toLowerCase","Utils","isTablet","deviceType","interestedClientSideEvents","_makeUniqueStringArray","dtmE","ctmE","mpDlE","interestedServerSideEvents","sseDtmE","sseCtmE","sseMpDlE","interestedAllEvents","resetCollectorUrl","c_url","v_id","p_id","isDataStoreInitialized","baseCollectorUrl","sdkEnv","vendorId","projectId","tagsBaseUrl","urls","tfUrl","errUrl","rptUrl","infoUrl","baseUrl","attrInfoUrl","idlUrl","enQueueTMFire","sseOnly","name","dcrName","eventId","dcrPayload","runQueue","push","isDataStoreReady","shouldExecuteTMForEvent","eventName","indexOf","shouldExecuteSST","shouldExecuteClientSideTm","getSdkPcKey","pcKey","getSdkInitOptions","sdkInitOptions","setSdkInitOptions","options","deQueueTMFire","length","pop","isTagManagerProcessing","isProcessing","setTagManagerProcessing","status","getSdkDataElements","d","getSdkQC","qc","hasOneSSTTag","sst","getSSTDownStream","dws_s_t","getClientDownStream","dws_c_t","getClientSdk","getSSTUrl","getAttrInfoUrl","setVisitInfo","visitInfo","visitInfoToString","visitVer","visitId","visitTs","visitCt","visitDepth","undefined","setVisitorInfo","visitorInfo","getDebugId","debugId","getErrorReportUrl","getIdlUrl","getSdkVersion","setDebugId","dbgId","shouldFireSstForEvent","addCommonCookie","key","value","commonCookies","getCommonCookies","getUrlInfo","getSdkTags","t","getSdkProviders","p","getPrivacyCompliance","prStatus","setPrivacyCompliance","storeData","AsyncStorage","setItem","JSON","stringify","getDataFromStorage","getItem","parse","getDataElements","dataElements","setDataElements","de","getPageLang","pageLang","getDeviceOs","getDataElementHelpers","log","Logger","logDbg","err","logError","getPageName","getDataElementValue","param","setPageLang","lang","getSdkPageLangKey","langKey","setDataElement","setValidQc","qcList","qcInfo","validQcList","validQcInfoList","getValidQcList","getValidQcInfo","setTransFunctions","elements","transFunctions","getTransFunctions","getOperatingSystem","getVisitId","overrideDeviceType","trim","getDeviceType","getDeviceId","dId","getMpId","mId","getVisitorInfoAsString","getOrgId","getCoreVersion","getMpEnv","mpEnvShort","shortEnv"],"sources":["data-store.ts"],"sourcesContent":["import AsyncStorage from '@react-native-async-storage/async-storage';\nimport type {\n DeJsvHelper,\n MapLike,\n QcInfoItem,\n RunQueueModel,\n SdkInitOptions,\n UrlInfo,\n VisitInfo,\n VisitorInfo,\n} from './app-types';\nimport { Logger } from './logger';\nimport type {\n ClientSdkDeItem,\n ClientSdkPrItem,\n ClientSdkQcItem,\n ClientSdkTagItem,\n MpClientSdk,\n} from '../models/mp-client-sdk';\nimport { Platform } from 'react-native';\nimport { Utils } from './utils';\n\nconst CORE_VERSION = '0.8.1';\n\nexport class DataStore {\n private static isDataStoreInitialized = false;\n private static dataElements: MapLike = {};\n private static validQcList: string[];\n private static validQcInfoList: Array<QcInfoItem> = [];\n private static transFunctions: MapLike = {};\n private static prStatus = true;\n private static clientSdk: MpClientSdk;\n private static urls: UrlInfo;\n private static debugId: string;\n private static visitorInfo: VisitorInfo;\n private static visitInfo: VisitInfo;\n private static pageLang = 'en';\n private static mpEnvShort: 'stg' | 'prd';\n private static devicePlatform = 'unknown';\n private static deviceType = 'mobile';\n private static runQueue: RunQueueModel[] = [];\n private static isProcessing = false;\n private static sdkInitOptions: SdkInitOptions;\n\n private static interestedClientSideEvents: string[] = [];\n private static interestedServerSideEvents: string[] = [];\n private static interestedAllEvents: string[] = [];\n\n private static commonCookies: Record<string, string> = {};\n\n static async init(clientSdk: MpClientSdk): Promise<void> {\n this.clientSdk = clientSdk;\n this.setMpEnv(clientSdk?.s?.ev === 'staging' ? 'stg' : 'prd');\n if (typeof Platform !== 'undefined' && typeof Platform.OS !== 'undefined') {\n this.devicePlatform = Platform.OS.toLowerCase();\n }\n\n if (Utils.isTablet()) {\n this.deviceType = 'tablet';\n } else {\n this.deviceType = 'mobile';\n }\n\n this.interestedClientSideEvents = Utils._makeUniqueStringArray([\n ...(clientSdk.dtmE ?? []),\n ...(clientSdk.ctmE ?? []),\n ...(clientSdk.mpDlE ?? []),\n ]);\n\n this.interestedServerSideEvents = Utils._makeUniqueStringArray([\n ...(clientSdk.sseDtmE ?? []),\n ...(clientSdk.sseCtmE ?? []),\n ...(clientSdk.sseMpDlE ?? []),\n ]);\n\n this.interestedAllEvents = Utils._makeUniqueStringArray([\n ...this.interestedClientSideEvents,\n ...this.interestedServerSideEvents,\n ]);\n\n this.resetCollectorUrl(\n clientSdk.s.c_url,\n clientSdk.s.ev,\n clientSdk.s.v_id,\n clientSdk.s.p_id\n );\n this.isDataStoreInitialized = true;\n }\n\n static resetCollectorUrl(\n baseCollectorUrl: string,\n sdkEnv: string,\n vendorId: string,\n projectId: string\n ): boolean {\n const tagsBaseUrl = `${baseCollectorUrl}/${\n sdkEnv === 'staging' ? 's' : 'p'\n }/${vendorId}/${projectId}`;\n this.urls = {\n tfUrl: tagsBaseUrl + '/sst',\n errUrl: tagsBaseUrl + '/err',\n rptUrl: tagsBaseUrl + '/report',\n infoUrl: tagsBaseUrl + '/info',\n baseUrl: baseCollectorUrl,\n attrInfoUrl: baseCollectorUrl + `/idl/${vendorId}/attrInfo`,\n idlUrl:\n baseCollectorUrl +\n `/idl/${vendorId}/idl${sdkEnv === 'staging' ? '-staging' : ''}`,\n };\n return true;\n }\n\n static enQueueTMFire(\n sseOnly: boolean,\n name: string,\n dcrName: string,\n eventId: string,\n dcrPayload?: Record<string, any>\n ): void {\n this.runQueue.push({ sseOnly, name, dcrName, eventId, dcrPayload });\n }\n\n static isDataStoreReady(): boolean {\n return this.isDataStoreInitialized;\n }\n\n static shouldExecuteTMForEvent(eventName: string): boolean {\n return this.interestedAllEvents.indexOf(eventName) > -1;\n }\n\n static shouldExecuteSST(eventName: string): boolean {\n return this.interestedServerSideEvents.indexOf(eventName) > -1;\n }\n\n static shouldExecuteClientSideTm(eventName: string): boolean {\n return this.interestedClientSideEvents.indexOf(eventName) > -1;\n }\n\n static getSdkPcKey(): string {\n return this.clientSdk.pcKey;\n }\n\n static getSdkInitOptions(): SdkInitOptions {\n return this.sdkInitOptions;\n }\n\n static setSdkInitOptions(options: SdkInitOptions): void {\n this.sdkInitOptions = options;\n }\n\n static deQueueTMFire(): RunQueueModel {\n return this.runQueue.length > 0 ? this.runQueue.pop() : null;\n }\n\n static isTagManagerProcessing(): boolean {\n return this.isProcessing;\n }\n\n static setTagManagerProcessing(status: boolean): void {\n this.isProcessing = status;\n }\n\n static getSdkDataElements(): MapLike<ClientSdkDeItem> {\n return this.clientSdk?.d || {};\n }\n\n static getSdkQC(): ClientSdkQcItem[] {\n return this.clientSdk?.qc || [];\n }\n\n static hasOneSSTTag(): boolean {\n return this.clientSdk.s.sst;\n }\n\n static getSSTDownStream(): 'j' | 'n' {\n return this.clientSdk.s.dws_s_t;\n }\n\n static getClientDownStream(): 'j' | 'n' {\n return this.clientSdk.s.dws_c_t;\n }\n\n static getClientSdk(): MpClientSdk {\n return this.clientSdk;\n }\n\n static getSSTUrl(): string {\n return this.urls.tfUrl;\n }\n\n static getAttrInfoUrl(): string {\n return this.urls.attrInfoUrl;\n }\n\n static setVisitInfo(visitInfo: VisitInfo): void {\n this.visitInfo = visitInfo;\n }\n\n static visitInfoToString(): string {\n return this.visitInfo\n ? `${this.visitInfo.visitVer}|${this.visitInfo.visitId}|${this.visitInfo.visitTs}|${this.visitInfo.visitCt}|${this.visitInfo.visitDepth}`\n : undefined;\n }\n\n static setVisitorInfo(visitorInfo: VisitorInfo): void {\n this.visitorInfo = visitorInfo;\n }\n\n static getDebugId(): string {\n return this.debugId;\n }\n\n static getErrorReportUrl(): string {\n return this.urls.errUrl;\n }\n\n static getIdlUrl(): string {\n return this.urls?.idlUrl;\n }\n\n static getSdkVersion(): string {\n // TODO: Fix this\n return 'na';\n }\n\n static setDebugId(dbgId: string): void {\n this.debugId = dbgId;\n }\n\n static shouldFireSstForEvent(eventName: string): boolean {\n return this.clientSdk?.sseMpDlE?.indexOf(eventName) > -1;\n }\n\n static addCommonCookie(key: string, value: string): void {\n this.commonCookies[key] = value;\n }\n\n static getCommonCookies(): Record<string, string> {\n return this.commonCookies;\n }\n\n static getUrlInfo(): UrlInfo {\n return this.urls;\n }\n\n static getSdkTags(): MapLike<ClientSdkTagItem> {\n return this?.clientSdk?.t ?? {};\n }\n\n static getSdkProviders(): MapLike<ClientSdkPrItem> {\n return this?.clientSdk?.p ?? {};\n }\n\n static getPrivacyCompliance(): boolean {\n return this.prStatus;\n }\n\n static setPrivacyCompliance(status: boolean): void {\n this.prStatus = status;\n }\n\n static async storeData(key: string, value: any): Promise<void> {\n await AsyncStorage.setItem(key, JSON.stringify(value));\n }\n\n static async getDataFromStorage<T>(key: string): Promise<T> {\n const value = await AsyncStorage.getItem(key);\n return value ? JSON.parse(value) : value;\n }\n\n static getDataElements(): MapLike {\n return this.dataElements;\n }\n\n static setDataElements(de: MapLike): void {\n this.dataElements = de;\n }\n\n static getPageLang(): string {\n return this.pageLang;\n }\n\n static getDeviceOs(): string {\n return this.devicePlatform;\n }\n\n static getDataElementHelpers(): DeJsvHelper {\n return {\n log: Logger.logDbg,\n err: Logger.logError,\n };\n }\n\n static getPageName(): string {\n return (this.getDataElementValue('page_name') as string) || 'none';\n }\n\n static getDataElementValue(param: string): string | boolean | number {\n return this.dataElements[param];\n }\n\n static setPageLang(lang: string): void {\n this.pageLang = lang || 'en';\n }\n\n static getSdkPageLangKey(): string {\n return this.clientSdk.langKey;\n }\n\n static setDataElement(key: string, value: any): void {\n this.dataElements[key] = value;\n }\n\n static setValidQc(qcList: string[], qcInfo: QcInfoItem[]): void {\n this.validQcList = qcList;\n this.validQcInfoList = qcInfo;\n }\n\n static getValidQcList(): string[] {\n return this.validQcList || [];\n }\n\n static getValidQcInfo(): QcInfoItem[] {\n return this.validQcInfoList || [];\n }\n\n static setTransFunctions(elements: MapLike): MapLike {\n this.transFunctions = elements;\n return this.transFunctions;\n }\n\n static getTransFunctions(): MapLike {\n return this.transFunctions;\n }\n\n static getOperatingSystem(): string {\n return this.devicePlatform;\n }\n\n static getVisitId(): string {\n return this.visitInfo?.visitId;\n }\n\n static overrideDeviceType(deviceType: string): void {\n this.deviceType = deviceType?.trim()?.toLowerCase();\n }\n\n static getDeviceType(): string {\n return this.deviceType;\n }\n\n static getDeviceId(): string {\n return this.visitorInfo?.dId;\n }\n\n static getMpId(): string {\n return this.visitorInfo?.mId;\n }\n\n static getVisitorInfoAsString(): string | undefined {\n return this.visitorInfo ? JSON.stringify(this.visitorInfo) : undefined;\n }\n\n static getOrgId(): string {\n return this?.clientSdk?.s?.v_id;\n }\n\n static getCoreVersion(): string {\n return CORE_VERSION;\n }\n\n static getMpEnv(): 'stg' | 'prd' {\n return this.mpEnvShort;\n }\n\n static setMpEnv(shortEnv: 'stg' | 'prd'): void {\n this.mpEnvShort = shortEnv;\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["CORE_VERSION","DataStore","init","clientSdk","setMpEnv","s","ev","Platform","OS","devicePlatform","toLowerCase","Utils","isTablet","deviceType","interestedClientSideEvents","_makeUniqueStringArray","dtmE","ctmE","mpDlE","interestedServerSideEvents","sseDtmE","sseCtmE","sseMpDlE","interestedAllEvents","resetCollectorUrl","c_url","v_id","p_id","isDataStoreInitialized","baseCollectorUrl","sdkEnv","vendorId","projectId","tagsBaseUrl","urls","tfUrl","errUrl","rptUrl","infoUrl","baseUrl","attrInfoUrl","idlUrl","enQueueTMFire","sseOnly","name","dcrName","eventId","dcrPayload","runQueue","push","isDataStoreReady","shouldExecuteTMForEvent","eventName","indexOf","shouldExecuteSST","shouldExecuteClientSideTm","getSdkPcKey","pcKey","getSdkInitOptions","sdkInitOptions","setSdkInitOptions","options","deQueueTMFire","length","pop","isTagManagerProcessing","isProcessing","setTagManagerProcessing","status","getSdkDataElements","d","getSdkQC","qc","hasOneSSTTag","sst","getSSTDownStream","dws_s_t","getClientDownStream","dws_c_t","getClientSdk","getSSTUrl","getAttrInfoUrl","setVisitInfo","visitInfo","visitInfoToString","visitVer","visitId","visitTs","visitCt","visitDepth","undefined","setVisitorInfo","visitorInfo","getDebugId","debugId","getErrorReportUrl","getIdlUrl","getSdkVersion","setDebugId","dbgId","shouldFireSstForEvent","addCommonCookie","key","value","commonCookies","getCommonCookies","getUrlInfo","getSdkTags","t","getSdkProviders","p","getPrivacyCompliance","prStatus","setPrivacyCompliance","storeData","AsyncStorage","setItem","JSON","stringify","getDataFromStorage","getItem","parse","getDataElements","dataElements","setDataElements","de","getPageLang","pageLang","getDeviceOs","getDataElementHelpers","log","Logger","logDbg","err","logError","getPageName","getDataElementValue","param","setPageLang","lang","getSdkPageLangKey","langKey","setDataElement","setValidQc","qcList","qcInfo","validQcList","validQcInfoList","getValidQcList","getValidQcInfo","setTransFunctions","elements","transFunctions","getTransFunctions","getOperatingSystem","getVisitId","overrideDeviceType","trim","getDeviceType","getDeviceId","dId","getMpId","mId","getVisitorInfoAsString","getOrgId","getCoreVersion","getMpEnv","mpEnvShort","shortEnv"],"sources":["data-store.ts"],"sourcesContent":["import AsyncStorage from '@react-native-async-storage/async-storage';\nimport type {\n DeJsvHelper,\n MapLike,\n QcInfoItem,\n RunQueueModel,\n SdkInitOptions,\n UrlInfo,\n VisitInfo,\n VisitorInfo,\n} from './app-types';\nimport { Logger } from './logger';\nimport type {\n ClientSdkDeItem,\n ClientSdkPrItem,\n ClientSdkQcItem,\n ClientSdkTagItem,\n MpClientSdk,\n} from '../models/mp-client-sdk';\nimport { Platform } from 'react-native';\nimport { Utils } from './utils';\n\nconst CORE_VERSION = '0.8.5';\n\nexport class DataStore {\n private static isDataStoreInitialized = false;\n private static dataElements: MapLike = {};\n private static validQcList: string[];\n private static validQcInfoList: Array<QcInfoItem> = [];\n private static transFunctions: MapLike = {};\n private static prStatus = true;\n private static clientSdk: MpClientSdk;\n private static urls: UrlInfo;\n private static debugId: string;\n private static visitorInfo: VisitorInfo;\n private static visitInfo: VisitInfo;\n private static pageLang = 'en';\n private static mpEnvShort: 'stg' | 'prd';\n private static devicePlatform = 'unknown';\n private static deviceType = 'mobile';\n private static runQueue: RunQueueModel[] = [];\n private static isProcessing = false;\n private static sdkInitOptions: SdkInitOptions;\n\n private static interestedClientSideEvents: string[] = [];\n private static interestedServerSideEvents: string[] = [];\n private static interestedAllEvents: string[] = [];\n\n private static commonCookies: Record<string, string> = {};\n\n static async init(clientSdk: MpClientSdk): Promise<void> {\n this.clientSdk = clientSdk;\n this.setMpEnv(clientSdk?.s?.ev === 'staging' ? 'stg' : 'prd');\n if (typeof Platform !== 'undefined' && typeof Platform.OS !== 'undefined') {\n this.devicePlatform = Platform.OS.toLowerCase();\n }\n\n if (Utils.isTablet()) {\n this.deviceType = 'tablet';\n } else {\n this.deviceType = 'mobile';\n }\n\n this.interestedClientSideEvents = Utils._makeUniqueStringArray([\n ...(clientSdk.dtmE ?? []),\n ...(clientSdk.ctmE ?? []),\n ...(clientSdk.mpDlE ?? []),\n ]);\n\n this.interestedServerSideEvents = Utils._makeUniqueStringArray([\n ...(clientSdk.sseDtmE ?? []),\n ...(clientSdk.sseCtmE ?? []),\n ...(clientSdk.sseMpDlE ?? []),\n ]);\n\n this.interestedAllEvents = Utils._makeUniqueStringArray([\n ...this.interestedClientSideEvents,\n ...this.interestedServerSideEvents,\n ]);\n\n this.resetCollectorUrl(\n clientSdk.s.c_url,\n clientSdk.s.ev,\n clientSdk.s.v_id,\n clientSdk.s.p_id\n );\n this.isDataStoreInitialized = true;\n }\n\n static resetCollectorUrl(\n baseCollectorUrl: string,\n sdkEnv: string,\n vendorId: string,\n projectId: string\n ): boolean {\n const tagsBaseUrl = `${baseCollectorUrl}/${\n sdkEnv === 'staging' ? 's' : 'p'\n }/${vendorId}/${projectId}`;\n this.urls = {\n tfUrl: tagsBaseUrl + '/sst',\n errUrl: tagsBaseUrl + '/err',\n rptUrl: tagsBaseUrl + '/report',\n infoUrl: tagsBaseUrl + '/info',\n baseUrl: baseCollectorUrl,\n attrInfoUrl: baseCollectorUrl + `/idl/${vendorId}/attrInfo`,\n idlUrl:\n baseCollectorUrl +\n `/idl/${vendorId}/idl${sdkEnv === 'staging' ? '-staging' : ''}`,\n };\n return true;\n }\n\n static enQueueTMFire(\n sseOnly: boolean,\n name: string,\n dcrName: string,\n eventId: string,\n dcrPayload?: Record<string, any>\n ): void {\n this.runQueue.push({ sseOnly, name, dcrName, eventId, dcrPayload });\n }\n\n static isDataStoreReady(): boolean {\n return this.isDataStoreInitialized;\n }\n\n static shouldExecuteTMForEvent(eventName: string): boolean {\n return this.interestedAllEvents.indexOf(eventName) > -1;\n }\n\n static shouldExecuteSST(eventName: string): boolean {\n return this.interestedServerSideEvents.indexOf(eventName) > -1;\n }\n\n static shouldExecuteClientSideTm(eventName: string): boolean {\n return this.interestedClientSideEvents.indexOf(eventName) > -1;\n }\n\n static getSdkPcKey(): string {\n return this.clientSdk.pcKey;\n }\n\n static getSdkInitOptions(): SdkInitOptions {\n return this.sdkInitOptions;\n }\n\n static setSdkInitOptions(options: SdkInitOptions): void {\n this.sdkInitOptions = options;\n }\n\n static deQueueTMFire(): RunQueueModel {\n return this.runQueue.length > 0 ? this.runQueue.pop() : null;\n }\n\n static isTagManagerProcessing(): boolean {\n return this.isProcessing;\n }\n\n static setTagManagerProcessing(status: boolean): void {\n this.isProcessing = status;\n }\n\n static getSdkDataElements(): MapLike<ClientSdkDeItem> {\n return this.clientSdk?.d || {};\n }\n\n static getSdkQC(): ClientSdkQcItem[] {\n return this.clientSdk?.qc || [];\n }\n\n static hasOneSSTTag(): boolean {\n return this.clientSdk.s.sst;\n }\n\n static getSSTDownStream(): 'j' | 'n' {\n return this.clientSdk.s.dws_s_t;\n }\n\n static getClientDownStream(): 'j' | 'n' {\n return this.clientSdk.s.dws_c_t;\n }\n\n static getClientSdk(): MpClientSdk {\n return this.clientSdk;\n }\n\n static getSSTUrl(): string {\n return this.urls.tfUrl;\n }\n\n static getAttrInfoUrl(): string {\n return this.urls.attrInfoUrl;\n }\n\n static setVisitInfo(visitInfo: VisitInfo): void {\n this.visitInfo = visitInfo;\n }\n\n static visitInfoToString(): string {\n return this.visitInfo\n ? `${this.visitInfo.visitVer}|${this.visitInfo.visitId}|${this.visitInfo.visitTs}|${this.visitInfo.visitCt}|${this.visitInfo.visitDepth}`\n : undefined;\n }\n\n static setVisitorInfo(visitorInfo: VisitorInfo): void {\n this.visitorInfo = visitorInfo;\n }\n\n static getDebugId(): string {\n return this.debugId;\n }\n\n static getErrorReportUrl(): string {\n return this.urls.errUrl;\n }\n\n static getIdlUrl(): string {\n return this.urls?.idlUrl;\n }\n\n static getSdkVersion(): string {\n // TODO: Fix this\n return 'na';\n }\n\n static setDebugId(dbgId: string): void {\n this.debugId = dbgId;\n }\n\n static shouldFireSstForEvent(eventName: string): boolean {\n return this.clientSdk?.sseMpDlE?.indexOf(eventName) > -1;\n }\n\n static addCommonCookie(key: string, value: string): void {\n this.commonCookies[key] = value;\n }\n\n static getCommonCookies(): Record<string, string> {\n return this.commonCookies;\n }\n\n static getUrlInfo(): UrlInfo {\n return this.urls;\n }\n\n static getSdkTags(): MapLike<ClientSdkTagItem> {\n return this?.clientSdk?.t ?? {};\n }\n\n static getSdkProviders(): MapLike<ClientSdkPrItem> {\n return this?.clientSdk?.p ?? {};\n }\n\n static getPrivacyCompliance(): boolean {\n return this.prStatus;\n }\n\n static setPrivacyCompliance(status: boolean): void {\n this.prStatus = status;\n }\n\n static async storeData(key: string, value: any): Promise<void> {\n await AsyncStorage.setItem(key, JSON.stringify(value));\n }\n\n static async getDataFromStorage<T>(key: string): Promise<T> {\n const value = await AsyncStorage.getItem(key);\n return value ? JSON.parse(value) : value;\n }\n\n static getDataElements(): MapLike {\n return this.dataElements;\n }\n\n static setDataElements(de: MapLike): void {\n this.dataElements = de;\n }\n\n static getPageLang(): string {\n return this.pageLang;\n }\n\n static getDeviceOs(): string {\n return this.devicePlatform;\n }\n\n static getDataElementHelpers(): DeJsvHelper {\n return {\n log: Logger.logDbg,\n err: Logger.logError,\n };\n }\n\n static getPageName(): string {\n return (this.getDataElementValue('page_name') as string) || 'none';\n }\n\n static getDataElementValue(param: string): string | boolean | number {\n return this.dataElements[param];\n }\n\n static setPageLang(lang: string): void {\n this.pageLang = lang || 'en';\n }\n\n static getSdkPageLangKey(): string {\n return this.clientSdk.langKey;\n }\n\n static setDataElement(key: string, value: any): void {\n this.dataElements[key] = value;\n }\n\n static setValidQc(qcList: string[], qcInfo: QcInfoItem[]): void {\n this.validQcList = qcList;\n this.validQcInfoList = qcInfo;\n }\n\n static getValidQcList(): string[] {\n return this.validQcList || [];\n }\n\n static getValidQcInfo(): QcInfoItem[] {\n return this.validQcInfoList || [];\n }\n\n static setTransFunctions(elements: MapLike): MapLike {\n this.transFunctions = elements;\n return this.transFunctions;\n }\n\n static getTransFunctions(): MapLike {\n return this.transFunctions;\n }\n\n static getOperatingSystem(): string {\n return this.devicePlatform;\n }\n\n static getVisitId(): string {\n return this.visitInfo?.visitId;\n }\n\n static overrideDeviceType(deviceType: string): void {\n this.deviceType = deviceType?.trim()?.toLowerCase();\n }\n\n static getDeviceType(): string {\n return this.deviceType;\n }\n\n static getDeviceId(): string {\n return this.visitorInfo?.dId;\n }\n\n static getMpId(): string {\n return this.visitorInfo?.mId;\n }\n\n static getVisitorInfoAsString(): string | undefined {\n return this.visitorInfo ? JSON.stringify(this.visitorInfo) : undefined;\n }\n\n static getOrgId(): string {\n return this?.clientSdk?.s?.v_id;\n }\n\n static getCoreVersion(): string {\n return CORE_VERSION;\n }\n\n static getMpEnv(): 'stg' | 'prd' {\n return this.mpEnvShort;\n }\n\n static setMpEnv(shortEnv: 'stg' | 'prd'): void {\n this.mpEnvShort = shortEnv;\n }\n}\n"],"mappings":"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"}
@@ -217,6 +217,8 @@ class MpDataLayerHelper {
217
217
  }
218
218
 
219
219
  ready() {
220
+ this.isReady = true;
221
+
220
222
  if (this.receivedInitialEvent) {
221
223
  _logger.Logger.logDbg('Initial event received: ', this.dlInitEvent); // drain queue only if the initial configured event has been received,
222
224
  // otherwise mark isReady but dont drain the queue. queue will be drained first when the init
@@ -224,7 +226,6 @@ class MpDataLayerHelper {
224
226
 
225
227
 
226
228
  this.drainQueue();
227
- this.isReady = true;
228
229
  } else {
229
230
  _logger.Logger.logDbg(`Initial event (${this.dlInitEvent}) NOT received. Events will be queued`);
230
231
  }
@@ -1 +1 @@
1
- {"version":3,"names":["MpDataLayerHelper","constructor","dlEventName","dlInitMode","dlInitEvent","isReady","ready","init","globalEventListeners","globalEventListenerKeys","Object","keys","length","key","registerProcessor","pushEvent","eventName","payload","Logger","logDbg","JSON","stringify","processQItems","receivedInitialEvent","eventQueue","push","setDl","eventProcessor","err","logError","obj","_tmp","Utils","flattenObject","_masterDataLayer","assign","getDl","model","reset","undefined","ev","getUniqueID","Date","now","_clone","eventTs","eventPayload","stateTracker","triggerEvent","eventProcessors","processor","safeExecute","overrideDlInitEvent","eventType","fn","get","getState","hasEventHappened","find","i","drainQueue","_temp","splice","initialEventObjectIndex","findIndex","e","item"],"sources":["eedl.ts"],"sourcesContent":["import { Utils } from '../common/utils';\nimport type { EventProcessorFn, MapLike, TypedAny } from '../common/app-types';\nimport { Logger } from '../common/logger';\n\nexport class MpDataLayerHelper {\n isReady = false;\n _masterDataLayer: MapLike = {};\n eventProcessors: Record<string, any> = {};\n stateTracker: Array<any> = [];\n dlInitEvent: string;\n receivedInitialEvent = false;\n eventQueue: Array<any> = [];\n\n constructor(\n private readonly dlEventName: string,\n private readonly dlInitMode: string,\n dlInitEvent: string\n ) {\n this.dlInitEvent = dlInitEvent;\n\n if (this.dlInitMode !== 'manual') {\n this.isReady = true;\n }\n\n if (this.isReady) {\n this.ready();\n }\n }\n\n init(globalEventListeners: Record<string, EventProcessorFn>): void {\n // register any global event listeners passed through to the init command\n const globalEventListenerKeys = Object.keys(globalEventListeners || {});\n if (globalEventListenerKeys?.length > 0) {\n for (const key of globalEventListenerKeys) {\n if (typeof globalEventListeners[key] !== 'undefined') {\n this.registerProcessor(key, globalEventListeners[key] as any);\n }\n }\n }\n }\n\n pushEvent(eventName: string, payload: MapLike): void {\n Logger.logDbg('EV Push Event:: ', JSON.stringify(payload));\n if (eventName === 'set') {\n // process regardless\n this.processQItems(eventName, payload);\n } else {\n if (!this.receivedInitialEvent) {\n // set only if this is not true already\n this.receivedInitialEvent = eventName === this.dlInitEvent;\n this.eventQueue.push([eventName, payload]);\n if (this.isReady && this.receivedInitialEvent) {\n this.ready();\n }\n } else if (!this.isReady) {\n this.eventQueue.push([eventName, payload]);\n } else {\n this.processQItems(eventName, payload);\n }\n }\n }\n\n processQItems(eventName: string, payload: MapLike): void {\n try {\n if (eventName === 'set') {\n this.setDl(payload);\n } else {\n this.eventProcessor(eventName, payload);\n }\n /* Make sure nothing is written below this line. If you do so, remember to return on error conditions above */\n } catch (err) {\n Logger.logError('Error performing init setup on dl', err);\n }\n }\n\n /**\n * Private Processor for 'set' command object\n */\n setDl(obj: TypedAny | undefined): boolean {\n if (!obj) {\n return false;\n }\n const _tmp = Utils.flattenObject(obj);\n this._masterDataLayer = Object.assign({}, this._masterDataLayer, _tmp);\n return true;\n }\n\n getDl(): TypedAny {\n return this._masterDataLayer;\n }\n\n /**\n * Private event processor. Idea is that whenever an event is detected, we create a copy of the master data layer,\n * add the event variables, and trigger the event requested when initializing the data layer helper\n * @param eventName\n * @param model\n */\n eventProcessor(eventName: string, model: TypedAny | undefined): void {\n /**\n * The following If block clears the data layer when the initial event is received.\n * This is done to prevent value carry overs from one page to another in single page apps\n */\n if (eventName === 'reset' || eventName === this.dlInitEvent) {\n this.reset();\n this.setDl(model);\n model = undefined;\n }\n\n if (model) {\n model = {\n ev: (model || {}) as any,\n };\n } else {\n model = {};\n }\n\n // generate a unique id for each event automatically\n model['ev._id'] = Utils.getUniqueID();\n\n // add the event ts also for every event\n model['ev._tsMs'] = Date.now();\n\n model['ev._eventName'] = eventName;\n\n model = Utils.flattenObject(model);\n\n // create a clone of master data layer and merge event model to it\n const _clone = Object.assign({}, this._masterDataLayer, model);\n const eventTs = Date.now();\n\n const eventPayload = {\n eventName: eventName,\n eventTs: eventTs,\n model: _clone,\n };\n\n // add to state tracker\n this.stateTracker.push(eventPayload);\n\n // trigger an event that can be listened to by other listeners\n Utils.triggerEvent(this.dlEventName, eventPayload);\n\n // see if there are any other registered processors and invoke them\n if (this.eventProcessors[eventName]) {\n for (const processor of this.eventProcessors[eventName]) {\n Utils.safeExecute(processor, eventPayload);\n }\n }\n }\n\n overrideDlInitEvent(eventName: string): string {\n if (eventName && eventName.length > 0) {\n this.dlInitEvent = eventName;\n return 'Dl Init Event Override Successful';\n }\n return 'Dl Init Event Override Failed';\n }\n\n /**\n * Exposed method for registering custom processors for events\n * @param eventType\n * @param fn\n */\n registerProcessor(eventType: string, fn: EventProcessorFn): void {\n if (!eventType || !fn || typeof fn !== 'function') {\n Logger.logError('EventType and Fn are mandatory');\n return;\n }\n if (!this.eventProcessors[eventType]) {\n this.eventProcessors[eventType] = [];\n }\n\n this.eventProcessors[eventType].push(fn);\n }\n\n /**\n * Exposed getter for getting values from data layer\n * @param key\n * @returns {*|undefined}\n */\n get(key: string): MapLike | undefined {\n return this._masterDataLayer[key] || undefined;\n }\n\n getState(): TypedAny[] {\n return this.stateTracker;\n }\n\n hasEventHappened(key: string): boolean {\n return !!this.stateTracker.find((i) => i.eventName === key);\n }\n\n reset(): boolean {\n this._masterDataLayer = {};\n return true;\n }\n\n ready(): void {\n if (this.receivedInitialEvent) {\n Logger.logDbg('Initial event received: ', this.dlInitEvent);\n // drain queue only if the initial configured event has been received,\n // otherwise mark isReady but dont drain the queue. queue will be drained first when the init\n // event is received\n this.drainQueue();\n this.isReady = true;\n } else {\n Logger.logDbg(\n `Initial event (${this.dlInitEvent}) NOT received. Events will be queued`\n );\n }\n }\n\n drainQueue(): void {\n Logger.logDbg('drainQueue...');\n // create a copy of the array\n const _temp = [...this.eventQueue];\n // clean the array\n this.eventQueue.splice(0, this.eventQueue.length);\n // find the event with dlInit event and execute it first, rest continues\n const initialEventObjectIndex = _temp.findIndex(\n (e) => [e][0]?.[0] === this.dlInitEvent\n );\n if (initialEventObjectIndex > -1) {\n // splice and execute it\n this.processQItems(\n _temp[initialEventObjectIndex][0],\n _temp[initialEventObjectIndex][1]\n );\n _temp.splice(initialEventObjectIndex, 1);\n }\n // continue with other items\n for (const item of _temp) {\n this.processQItems(item[0], item[1]);\n }\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["MpDataLayerHelper","constructor","dlEventName","dlInitMode","dlInitEvent","isReady","ready","init","globalEventListeners","globalEventListenerKeys","Object","keys","length","key","registerProcessor","pushEvent","eventName","payload","Logger","logDbg","JSON","stringify","processQItems","receivedInitialEvent","eventQueue","push","setDl","eventProcessor","err","logError","obj","_tmp","Utils","flattenObject","_masterDataLayer","assign","getDl","model","reset","undefined","ev","getUniqueID","Date","now","_clone","eventTs","eventPayload","stateTracker","triggerEvent","eventProcessors","processor","safeExecute","overrideDlInitEvent","eventType","fn","get","getState","hasEventHappened","find","i","drainQueue","_temp","splice","initialEventObjectIndex","findIndex","e","item"],"sources":["eedl.ts"],"sourcesContent":["import { Utils } from '../common/utils';\nimport type { EventProcessorFn, MapLike, TypedAny } from '../common/app-types';\nimport { Logger } from '../common/logger';\n\nexport class MpDataLayerHelper {\n isReady = false;\n _masterDataLayer: MapLike = {};\n eventProcessors: Record<string, any> = {};\n stateTracker: Array<any> = [];\n dlInitEvent: string;\n receivedInitialEvent = false;\n eventQueue: Array<any> = [];\n\n constructor(\n private readonly dlEventName: string,\n private readonly dlInitMode: string,\n dlInitEvent: string\n ) {\n this.dlInitEvent = dlInitEvent;\n\n if (this.dlInitMode !== 'manual') {\n this.isReady = true;\n }\n\n if (this.isReady) {\n this.ready();\n }\n }\n\n init(globalEventListeners: Record<string, EventProcessorFn>): void {\n // register any global event listeners passed through to the init command\n const globalEventListenerKeys = Object.keys(globalEventListeners || {});\n if (globalEventListenerKeys?.length > 0) {\n for (const key of globalEventListenerKeys) {\n if (typeof globalEventListeners[key] !== 'undefined') {\n this.registerProcessor(key, globalEventListeners[key] as any);\n }\n }\n }\n }\n\n pushEvent(eventName: string, payload: MapLike): void {\n Logger.logDbg('EV Push Event:: ', JSON.stringify(payload));\n if (eventName === 'set') {\n // process regardless\n this.processQItems(eventName, payload);\n } else {\n if (!this.receivedInitialEvent) {\n // set only if this is not true already\n this.receivedInitialEvent = eventName === this.dlInitEvent;\n this.eventQueue.push([eventName, payload]);\n if (this.isReady && this.receivedInitialEvent) {\n this.ready();\n }\n } else if (!this.isReady) {\n this.eventQueue.push([eventName, payload]);\n } else {\n this.processQItems(eventName, payload);\n }\n }\n }\n\n processQItems(eventName: string, payload: MapLike): void {\n try {\n if (eventName === 'set') {\n this.setDl(payload);\n } else {\n this.eventProcessor(eventName, payload);\n }\n /* Make sure nothing is written below this line. If you do so, remember to return on error conditions above */\n } catch (err) {\n Logger.logError('Error performing init setup on dl', err);\n }\n }\n\n /**\n * Private Processor for 'set' command object\n */\n setDl(obj: TypedAny | undefined): boolean {\n if (!obj) {\n return false;\n }\n const _tmp = Utils.flattenObject(obj);\n this._masterDataLayer = Object.assign({}, this._masterDataLayer, _tmp);\n return true;\n }\n\n getDl(): TypedAny {\n return this._masterDataLayer;\n }\n\n /**\n * Private event processor. Idea is that whenever an event is detected, we create a copy of the master data layer,\n * add the event variables, and trigger the event requested when initializing the data layer helper\n * @param eventName\n * @param model\n */\n eventProcessor(eventName: string, model: TypedAny | undefined): void {\n /**\n * The following If block clears the data layer when the initial event is received.\n * This is done to prevent value carry overs from one page to another in single page apps\n */\n if (eventName === 'reset' || eventName === this.dlInitEvent) {\n this.reset();\n this.setDl(model);\n model = undefined;\n }\n\n if (model) {\n model = {\n ev: (model || {}) as any,\n };\n } else {\n model = {};\n }\n\n // generate a unique id for each event automatically\n model['ev._id'] = Utils.getUniqueID();\n\n // add the event ts also for every event\n model['ev._tsMs'] = Date.now();\n\n model['ev._eventName'] = eventName;\n\n model = Utils.flattenObject(model);\n\n // create a clone of master data layer and merge event model to it\n const _clone = Object.assign({}, this._masterDataLayer, model);\n const eventTs = Date.now();\n\n const eventPayload = {\n eventName: eventName,\n eventTs: eventTs,\n model: _clone,\n };\n\n // add to state tracker\n this.stateTracker.push(eventPayload);\n\n // trigger an event that can be listened to by other listeners\n Utils.triggerEvent(this.dlEventName, eventPayload);\n\n // see if there are any other registered processors and invoke them\n if (this.eventProcessors[eventName]) {\n for (const processor of this.eventProcessors[eventName]) {\n Utils.safeExecute(processor, eventPayload);\n }\n }\n }\n\n overrideDlInitEvent(eventName: string): string {\n if (eventName && eventName.length > 0) {\n this.dlInitEvent = eventName;\n return 'Dl Init Event Override Successful';\n }\n return 'Dl Init Event Override Failed';\n }\n\n /**\n * Exposed method for registering custom processors for events\n * @param eventType\n * @param fn\n */\n registerProcessor(eventType: string, fn: EventProcessorFn): void {\n if (!eventType || !fn || typeof fn !== 'function') {\n Logger.logError('EventType and Fn are mandatory');\n return;\n }\n if (!this.eventProcessors[eventType]) {\n this.eventProcessors[eventType] = [];\n }\n\n this.eventProcessors[eventType].push(fn);\n }\n\n /**\n * Exposed getter for getting values from data layer\n * @param key\n * @returns {*|undefined}\n */\n get(key: string): MapLike | undefined {\n return this._masterDataLayer[key] || undefined;\n }\n\n getState(): TypedAny[] {\n return this.stateTracker;\n }\n\n hasEventHappened(key: string): boolean {\n return !!this.stateTracker.find((i) => i.eventName === key);\n }\n\n reset(): boolean {\n this._masterDataLayer = {};\n return true;\n }\n\n ready(): void {\n this.isReady = true;\n if (this.receivedInitialEvent) {\n Logger.logDbg('Initial event received: ', this.dlInitEvent);\n // drain queue only if the initial configured event has been received,\n // otherwise mark isReady but dont drain the queue. queue will be drained first when the init\n // event is received\n this.drainQueue();\n } else {\n Logger.logDbg(\n `Initial event (${this.dlInitEvent}) NOT received. Events will be queued`\n );\n }\n }\n\n drainQueue(): void {\n Logger.logDbg('drainQueue...');\n // create a copy of the array\n const _temp = [...this.eventQueue];\n // clean the array\n this.eventQueue.splice(0, this.eventQueue.length);\n // find the event with dlInit event and execute it first, rest continues\n const initialEventObjectIndex = _temp.findIndex(\n (e) => [e][0]?.[0] === this.dlInitEvent\n );\n if (initialEventObjectIndex > -1) {\n // splice and execute it\n this.processQItems(\n _temp[initialEventObjectIndex][0],\n _temp[initialEventObjectIndex][1]\n );\n _temp.splice(initialEventObjectIndex, 1);\n }\n // continue with other items\n for (const item of _temp) {\n this.processQItems(item[0], item[1]);\n }\n }\n}\n"],"mappings":"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"}
@@ -4,7 +4,7 @@ import AsyncStorage from '@react-native-async-storage/async-storage';
4
4
  import { Logger } from './logger';
5
5
  import { Platform } from 'react-native';
6
6
  import { Utils } from './utils';
7
- const CORE_VERSION = '0.8.1';
7
+ const CORE_VERSION = '0.8.5';
8
8
  export class DataStore {
9
9
  static async init(clientSdk) {
10
10
  var _clientSdk$s;
@@ -1 +1 @@
1
- {"version":3,"names":["AsyncStorage","Logger","Platform","Utils","CORE_VERSION","DataStore","init","clientSdk","setMpEnv","s","ev","OS","devicePlatform","toLowerCase","isTablet","deviceType","interestedClientSideEvents","_makeUniqueStringArray","dtmE","ctmE","mpDlE","interestedServerSideEvents","sseDtmE","sseCtmE","sseMpDlE","interestedAllEvents","resetCollectorUrl","c_url","v_id","p_id","isDataStoreInitialized","baseCollectorUrl","sdkEnv","vendorId","projectId","tagsBaseUrl","urls","tfUrl","errUrl","rptUrl","infoUrl","baseUrl","attrInfoUrl","idlUrl","enQueueTMFire","sseOnly","name","dcrName","eventId","dcrPayload","runQueue","push","isDataStoreReady","shouldExecuteTMForEvent","eventName","indexOf","shouldExecuteSST","shouldExecuteClientSideTm","getSdkPcKey","pcKey","getSdkInitOptions","sdkInitOptions","setSdkInitOptions","options","deQueueTMFire","length","pop","isTagManagerProcessing","isProcessing","setTagManagerProcessing","status","getSdkDataElements","d","getSdkQC","qc","hasOneSSTTag","sst","getSSTDownStream","dws_s_t","getClientDownStream","dws_c_t","getClientSdk","getSSTUrl","getAttrInfoUrl","setVisitInfo","visitInfo","visitInfoToString","visitVer","visitId","visitTs","visitCt","visitDepth","undefined","setVisitorInfo","visitorInfo","getDebugId","debugId","getErrorReportUrl","getIdlUrl","getSdkVersion","setDebugId","dbgId","shouldFireSstForEvent","addCommonCookie","key","value","commonCookies","getCommonCookies","getUrlInfo","getSdkTags","t","getSdkProviders","p","getPrivacyCompliance","prStatus","setPrivacyCompliance","storeData","setItem","JSON","stringify","getDataFromStorage","getItem","parse","getDataElements","dataElements","setDataElements","de","getPageLang","pageLang","getDeviceOs","getDataElementHelpers","log","logDbg","err","logError","getPageName","getDataElementValue","param","setPageLang","lang","getSdkPageLangKey","langKey","setDataElement","setValidQc","qcList","qcInfo","validQcList","validQcInfoList","getValidQcList","getValidQcInfo","setTransFunctions","elements","transFunctions","getTransFunctions","getOperatingSystem","getVisitId","overrideDeviceType","trim","getDeviceType","getDeviceId","dId","getMpId","mId","getVisitorInfoAsString","getOrgId","getCoreVersion","getMpEnv","mpEnvShort","shortEnv"],"sources":["data-store.ts"],"sourcesContent":["import AsyncStorage from '@react-native-async-storage/async-storage';\nimport type {\n DeJsvHelper,\n MapLike,\n QcInfoItem,\n RunQueueModel,\n SdkInitOptions,\n UrlInfo,\n VisitInfo,\n VisitorInfo,\n} from './app-types';\nimport { Logger } from './logger';\nimport type {\n ClientSdkDeItem,\n ClientSdkPrItem,\n ClientSdkQcItem,\n ClientSdkTagItem,\n MpClientSdk,\n} from '../models/mp-client-sdk';\nimport { Platform } from 'react-native';\nimport { Utils } from './utils';\n\nconst CORE_VERSION = '0.8.1';\n\nexport class DataStore {\n private static isDataStoreInitialized = false;\n private static dataElements: MapLike = {};\n private static validQcList: string[];\n private static validQcInfoList: Array<QcInfoItem> = [];\n private static transFunctions: MapLike = {};\n private static prStatus = true;\n private static clientSdk: MpClientSdk;\n private static urls: UrlInfo;\n private static debugId: string;\n private static visitorInfo: VisitorInfo;\n private static visitInfo: VisitInfo;\n private static pageLang = 'en';\n private static mpEnvShort: 'stg' | 'prd';\n private static devicePlatform = 'unknown';\n private static deviceType = 'mobile';\n private static runQueue: RunQueueModel[] = [];\n private static isProcessing = false;\n private static sdkInitOptions: SdkInitOptions;\n\n private static interestedClientSideEvents: string[] = [];\n private static interestedServerSideEvents: string[] = [];\n private static interestedAllEvents: string[] = [];\n\n private static commonCookies: Record<string, string> = {};\n\n static async init(clientSdk: MpClientSdk): Promise<void> {\n this.clientSdk = clientSdk;\n this.setMpEnv(clientSdk?.s?.ev === 'staging' ? 'stg' : 'prd');\n if (typeof Platform !== 'undefined' && typeof Platform.OS !== 'undefined') {\n this.devicePlatform = Platform.OS.toLowerCase();\n }\n\n if (Utils.isTablet()) {\n this.deviceType = 'tablet';\n } else {\n this.deviceType = 'mobile';\n }\n\n this.interestedClientSideEvents = Utils._makeUniqueStringArray([\n ...(clientSdk.dtmE ?? []),\n ...(clientSdk.ctmE ?? []),\n ...(clientSdk.mpDlE ?? []),\n ]);\n\n this.interestedServerSideEvents = Utils._makeUniqueStringArray([\n ...(clientSdk.sseDtmE ?? []),\n ...(clientSdk.sseCtmE ?? []),\n ...(clientSdk.sseMpDlE ?? []),\n ]);\n\n this.interestedAllEvents = Utils._makeUniqueStringArray([\n ...this.interestedClientSideEvents,\n ...this.interestedServerSideEvents,\n ]);\n\n this.resetCollectorUrl(\n clientSdk.s.c_url,\n clientSdk.s.ev,\n clientSdk.s.v_id,\n clientSdk.s.p_id\n );\n this.isDataStoreInitialized = true;\n }\n\n static resetCollectorUrl(\n baseCollectorUrl: string,\n sdkEnv: string,\n vendorId: string,\n projectId: string\n ): boolean {\n const tagsBaseUrl = `${baseCollectorUrl}/${\n sdkEnv === 'staging' ? 's' : 'p'\n }/${vendorId}/${projectId}`;\n this.urls = {\n tfUrl: tagsBaseUrl + '/sst',\n errUrl: tagsBaseUrl + '/err',\n rptUrl: tagsBaseUrl + '/report',\n infoUrl: tagsBaseUrl + '/info',\n baseUrl: baseCollectorUrl,\n attrInfoUrl: baseCollectorUrl + `/idl/${vendorId}/attrInfo`,\n idlUrl:\n baseCollectorUrl +\n `/idl/${vendorId}/idl${sdkEnv === 'staging' ? '-staging' : ''}`,\n };\n return true;\n }\n\n static enQueueTMFire(\n sseOnly: boolean,\n name: string,\n dcrName: string,\n eventId: string,\n dcrPayload?: Record<string, any>\n ): void {\n this.runQueue.push({ sseOnly, name, dcrName, eventId, dcrPayload });\n }\n\n static isDataStoreReady(): boolean {\n return this.isDataStoreInitialized;\n }\n\n static shouldExecuteTMForEvent(eventName: string): boolean {\n return this.interestedAllEvents.indexOf(eventName) > -1;\n }\n\n static shouldExecuteSST(eventName: string): boolean {\n return this.interestedServerSideEvents.indexOf(eventName) > -1;\n }\n\n static shouldExecuteClientSideTm(eventName: string): boolean {\n return this.interestedClientSideEvents.indexOf(eventName) > -1;\n }\n\n static getSdkPcKey(): string {\n return this.clientSdk.pcKey;\n }\n\n static getSdkInitOptions(): SdkInitOptions {\n return this.sdkInitOptions;\n }\n\n static setSdkInitOptions(options: SdkInitOptions): void {\n this.sdkInitOptions = options;\n }\n\n static deQueueTMFire(): RunQueueModel {\n return this.runQueue.length > 0 ? this.runQueue.pop() : null;\n }\n\n static isTagManagerProcessing(): boolean {\n return this.isProcessing;\n }\n\n static setTagManagerProcessing(status: boolean): void {\n this.isProcessing = status;\n }\n\n static getSdkDataElements(): MapLike<ClientSdkDeItem> {\n return this.clientSdk?.d || {};\n }\n\n static getSdkQC(): ClientSdkQcItem[] {\n return this.clientSdk?.qc || [];\n }\n\n static hasOneSSTTag(): boolean {\n return this.clientSdk.s.sst;\n }\n\n static getSSTDownStream(): 'j' | 'n' {\n return this.clientSdk.s.dws_s_t;\n }\n\n static getClientDownStream(): 'j' | 'n' {\n return this.clientSdk.s.dws_c_t;\n }\n\n static getClientSdk(): MpClientSdk {\n return this.clientSdk;\n }\n\n static getSSTUrl(): string {\n return this.urls.tfUrl;\n }\n\n static getAttrInfoUrl(): string {\n return this.urls.attrInfoUrl;\n }\n\n static setVisitInfo(visitInfo: VisitInfo): void {\n this.visitInfo = visitInfo;\n }\n\n static visitInfoToString(): string {\n return this.visitInfo\n ? `${this.visitInfo.visitVer}|${this.visitInfo.visitId}|${this.visitInfo.visitTs}|${this.visitInfo.visitCt}|${this.visitInfo.visitDepth}`\n : undefined;\n }\n\n static setVisitorInfo(visitorInfo: VisitorInfo): void {\n this.visitorInfo = visitorInfo;\n }\n\n static getDebugId(): string {\n return this.debugId;\n }\n\n static getErrorReportUrl(): string {\n return this.urls.errUrl;\n }\n\n static getIdlUrl(): string {\n return this.urls?.idlUrl;\n }\n\n static getSdkVersion(): string {\n // TODO: Fix this\n return 'na';\n }\n\n static setDebugId(dbgId: string): void {\n this.debugId = dbgId;\n }\n\n static shouldFireSstForEvent(eventName: string): boolean {\n return this.clientSdk?.sseMpDlE?.indexOf(eventName) > -1;\n }\n\n static addCommonCookie(key: string, value: string): void {\n this.commonCookies[key] = value;\n }\n\n static getCommonCookies(): Record<string, string> {\n return this.commonCookies;\n }\n\n static getUrlInfo(): UrlInfo {\n return this.urls;\n }\n\n static getSdkTags(): MapLike<ClientSdkTagItem> {\n return this?.clientSdk?.t ?? {};\n }\n\n static getSdkProviders(): MapLike<ClientSdkPrItem> {\n return this?.clientSdk?.p ?? {};\n }\n\n static getPrivacyCompliance(): boolean {\n return this.prStatus;\n }\n\n static setPrivacyCompliance(status: boolean): void {\n this.prStatus = status;\n }\n\n static async storeData(key: string, value: any): Promise<void> {\n await AsyncStorage.setItem(key, JSON.stringify(value));\n }\n\n static async getDataFromStorage<T>(key: string): Promise<T> {\n const value = await AsyncStorage.getItem(key);\n return value ? JSON.parse(value) : value;\n }\n\n static getDataElements(): MapLike {\n return this.dataElements;\n }\n\n static setDataElements(de: MapLike): void {\n this.dataElements = de;\n }\n\n static getPageLang(): string {\n return this.pageLang;\n }\n\n static getDeviceOs(): string {\n return this.devicePlatform;\n }\n\n static getDataElementHelpers(): DeJsvHelper {\n return {\n log: Logger.logDbg,\n err: Logger.logError,\n };\n }\n\n static getPageName(): string {\n return (this.getDataElementValue('page_name') as string) || 'none';\n }\n\n static getDataElementValue(param: string): string | boolean | number {\n return this.dataElements[param];\n }\n\n static setPageLang(lang: string): void {\n this.pageLang = lang || 'en';\n }\n\n static getSdkPageLangKey(): string {\n return this.clientSdk.langKey;\n }\n\n static setDataElement(key: string, value: any): void {\n this.dataElements[key] = value;\n }\n\n static setValidQc(qcList: string[], qcInfo: QcInfoItem[]): void {\n this.validQcList = qcList;\n this.validQcInfoList = qcInfo;\n }\n\n static getValidQcList(): string[] {\n return this.validQcList || [];\n }\n\n static getValidQcInfo(): QcInfoItem[] {\n return this.validQcInfoList || [];\n }\n\n static setTransFunctions(elements: MapLike): MapLike {\n this.transFunctions = elements;\n return this.transFunctions;\n }\n\n static getTransFunctions(): MapLike {\n return this.transFunctions;\n }\n\n static getOperatingSystem(): string {\n return this.devicePlatform;\n }\n\n static getVisitId(): string {\n return this.visitInfo?.visitId;\n }\n\n static overrideDeviceType(deviceType: string): void {\n this.deviceType = deviceType?.trim()?.toLowerCase();\n }\n\n static getDeviceType(): string {\n return this.deviceType;\n }\n\n static getDeviceId(): string {\n return this.visitorInfo?.dId;\n }\n\n static getMpId(): string {\n return this.visitorInfo?.mId;\n }\n\n static getVisitorInfoAsString(): string | undefined {\n return this.visitorInfo ? JSON.stringify(this.visitorInfo) : undefined;\n }\n\n static getOrgId(): string {\n return this?.clientSdk?.s?.v_id;\n }\n\n static getCoreVersion(): string {\n return CORE_VERSION;\n }\n\n static getMpEnv(): 'stg' | 'prd' {\n return this.mpEnvShort;\n }\n\n static setMpEnv(shortEnv: 'stg' | 'prd'): void {\n this.mpEnvShort = shortEnv;\n }\n}\n"],"mappings":";;AAAA,OAAOA,YAAP,MAAyB,2CAAzB;AAWA,SAASC,MAAT,QAAuB,UAAvB;AAQA,SAASC,QAAT,QAAyB,cAAzB;AACA,SAASC,KAAT,QAAsB,SAAtB;AAEA,MAAMC,YAAY,GAAG,OAArB;AAEA,OAAO,MAAMC,SAAN,CAAgB;EA0BJ,aAAJC,IAAI,CAACC,SAAD,EAAwC;IAAA;;IACvD,KAAKA,SAAL,GAAiBA,SAAjB;IACA,KAAKC,QAAL,CAAc,CAAAD,SAAS,SAAT,IAAAA,SAAS,WAAT,4BAAAA,SAAS,CAAEE,CAAX,8DAAcC,EAAd,MAAqB,SAArB,GAAiC,KAAjC,GAAyC,KAAvD;;IACA,IAAI,OAAOR,QAAP,KAAoB,WAApB,IAAmC,OAAOA,QAAQ,CAACS,EAAhB,KAAuB,WAA9D,EAA2E;MACzE,KAAKC,cAAL,GAAsBV,QAAQ,CAACS,EAAT,CAAYE,WAAZ,EAAtB;IACD;;IAED,IAAIV,KAAK,CAACW,QAAN,EAAJ,EAAsB;MACpB,KAAKC,UAAL,GAAkB,QAAlB;IACD,CAFD,MAEO;MACL,KAAKA,UAAL,GAAkB,QAAlB;IACD;;IAED,KAAKC,0BAAL,GAAkCb,KAAK,CAACc,sBAAN,CAA6B,CAC7D,IAAIV,SAAS,CAACW,IAAV,IAAkB,EAAtB,CAD6D,EAE7D,IAAIX,SAAS,CAACY,IAAV,IAAkB,EAAtB,CAF6D,EAG7D,IAAIZ,SAAS,CAACa,KAAV,IAAmB,EAAvB,CAH6D,CAA7B,CAAlC;IAMA,KAAKC,0BAAL,GAAkClB,KAAK,CAACc,sBAAN,CAA6B,CAC7D,IAAIV,SAAS,CAACe,OAAV,IAAqB,EAAzB,CAD6D,EAE7D,IAAIf,SAAS,CAACgB,OAAV,IAAqB,EAAzB,CAF6D,EAG7D,IAAIhB,SAAS,CAACiB,QAAV,IAAsB,EAA1B,CAH6D,CAA7B,CAAlC;IAMA,KAAKC,mBAAL,GAA2BtB,KAAK,CAACc,sBAAN,CAA6B,CACtD,GAAG,KAAKD,0BAD8C,EAEtD,GAAG,KAAKK,0BAF8C,CAA7B,CAA3B;IAKA,KAAKK,iBAAL,CACEnB,SAAS,CAACE,CAAV,CAAYkB,KADd,EAEEpB,SAAS,CAACE,CAAV,CAAYC,EAFd,EAGEH,SAAS,CAACE,CAAV,CAAYmB,IAHd,EAIErB,SAAS,CAACE,CAAV,CAAYoB,IAJd;IAMA,KAAKC,sBAAL,GAA8B,IAA9B;EACD;;EAEuB,OAAjBJ,iBAAiB,CACtBK,gBADsB,EAEtBC,MAFsB,EAGtBC,QAHsB,EAItBC,SAJsB,EAKb;IACT,MAAMC,WAAW,GAAI,GAAEJ,gBAAiB,IACtCC,MAAM,KAAK,SAAX,GAAuB,GAAvB,GAA6B,GAC9B,IAAGC,QAAS,IAAGC,SAAU,EAF1B;IAGA,KAAKE,IAAL,GAAY;MACVC,KAAK,EAAEF,WAAW,GAAG,MADX;MAEVG,MAAM,EAAEH,WAAW,GAAG,MAFZ;MAGVI,MAAM,EAAEJ,WAAW,GAAG,SAHZ;MAIVK,OAAO,EAAEL,WAAW,GAAG,OAJb;MAKVM,OAAO,EAAEV,gBALC;MAMVW,WAAW,EAAEX,gBAAgB,GAAI,QAAOE,QAAS,WANvC;MAOVU,MAAM,EACJZ,gBAAgB,GACf,QAAOE,QAAS,OAAMD,MAAM,KAAK,SAAX,GAAuB,UAAvB,GAAoC,EAAG;IATtD,CAAZ;IAWA,OAAO,IAAP;EACD;;EAEmB,OAAbY,aAAa,CAClBC,OADkB,EAElBC,IAFkB,EAGlBC,OAHkB,EAIlBC,OAJkB,EAKlBC,UALkB,EAMZ;IACN,KAAKC,QAAL,CAAcC,IAAd,CAAmB;MAAEN,OAAF;MAAWC,IAAX;MAAiBC,OAAjB;MAA0BC,OAA1B;MAAmCC;IAAnC,CAAnB;EACD;;EAEsB,OAAhBG,gBAAgB,GAAY;IACjC,OAAO,KAAKtB,sBAAZ;EACD;;EAE6B,OAAvBuB,uBAAuB,CAACC,SAAD,EAA6B;IACzD,OAAO,KAAK7B,mBAAL,CAAyB8B,OAAzB,CAAiCD,SAAjC,IAA8C,CAAC,CAAtD;EACD;;EAEsB,OAAhBE,gBAAgB,CAACF,SAAD,EAA6B;IAClD,OAAO,KAAKjC,0BAAL,CAAgCkC,OAAhC,CAAwCD,SAAxC,IAAqD,CAAC,CAA7D;EACD;;EAE+B,OAAzBG,yBAAyB,CAACH,SAAD,EAA6B;IAC3D,OAAO,KAAKtC,0BAAL,CAAgCuC,OAAhC,CAAwCD,SAAxC,IAAqD,CAAC,CAA7D;EACD;;EAEiB,OAAXI,WAAW,GAAW;IAC3B,OAAO,KAAKnD,SAAL,CAAeoD,KAAtB;EACD;;EAEuB,OAAjBC,iBAAiB,GAAmB;IACzC,OAAO,KAAKC,cAAZ;EACD;;EAEuB,OAAjBC,iBAAiB,CAACC,OAAD,EAAgC;IACtD,KAAKF,cAAL,GAAsBE,OAAtB;EACD;;EAEmB,OAAbC,aAAa,GAAkB;IACpC,OAAO,KAAKd,QAAL,CAAce,MAAd,GAAuB,CAAvB,GAA2B,KAAKf,QAAL,CAAcgB,GAAd,EAA3B,GAAiD,IAAxD;EACD;;EAE4B,OAAtBC,sBAAsB,GAAY;IACvC,OAAO,KAAKC,YAAZ;EACD;;EAE6B,OAAvBC,uBAAuB,CAACC,MAAD,EAAwB;IACpD,KAAKF,YAAL,GAAoBE,MAApB;EACD;;EAEwB,OAAlBC,kBAAkB,GAA6B;IAAA;;IACpD,OAAO,yBAAKhE,SAAL,oEAAgBiE,CAAhB,KAAqB,EAA5B;EACD;;EAEc,OAARC,QAAQ,GAAsB;IAAA;;IACnC,OAAO,0BAAKlE,SAAL,sEAAgBmE,EAAhB,KAAsB,EAA7B;EACD;;EAEkB,OAAZC,YAAY,GAAY;IAC7B,OAAO,KAAKpE,SAAL,CAAeE,CAAf,CAAiBmE,GAAxB;EACD;;EAEsB,OAAhBC,gBAAgB,GAAc;IACnC,OAAO,KAAKtE,SAAL,CAAeE,CAAf,CAAiBqE,OAAxB;EACD;;EAEyB,OAAnBC,mBAAmB,GAAc;IACtC,OAAO,KAAKxE,SAAL,CAAeE,CAAf,CAAiBuE,OAAxB;EACD;;EAEkB,OAAZC,YAAY,GAAgB;IACjC,OAAO,KAAK1E,SAAZ;EACD;;EAEe,OAAT2E,SAAS,GAAW;IACzB,OAAO,KAAK9C,IAAL,CAAUC,KAAjB;EACD;;EAEoB,OAAd8C,cAAc,GAAW;IAC9B,OAAO,KAAK/C,IAAL,CAAUM,WAAjB;EACD;;EAEkB,OAAZ0C,YAAY,CAACC,SAAD,EAA6B;IAC9C,KAAKA,SAAL,GAAiBA,SAAjB;EACD;;EAEuB,OAAjBC,iBAAiB,GAAW;IACjC,OAAO,KAAKD,SAAL,GACF,GAAE,KAAKA,SAAL,CAAeE,QAAS,IAAG,KAAKF,SAAL,CAAeG,OAAQ,IAAG,KAAKH,SAAL,CAAeI,OAAQ,IAAG,KAAKJ,SAAL,CAAeK,OAAQ,IAAG,KAAKL,SAAL,CAAeM,UAAW,EADnI,GAEHC,SAFJ;EAGD;;EAEoB,OAAdC,cAAc,CAACC,WAAD,EAAiC;IACpD,KAAKA,WAAL,GAAmBA,WAAnB;EACD;;EAEgB,OAAVC,UAAU,GAAW;IAC1B,OAAO,KAAKC,OAAZ;EACD;;EAEuB,OAAjBC,iBAAiB,GAAW;IACjC,OAAO,KAAK7D,IAAL,CAAUE,MAAjB;EACD;;EAEe,OAAT4D,SAAS,GAAW;IAAA;;IACzB,qBAAO,KAAK9D,IAAZ,+CAAO,WAAWO,MAAlB;EACD;;EAEmB,OAAbwD,aAAa,GAAW;IAC7B;IACA,OAAO,IAAP;EACD;;EAEgB,OAAVC,UAAU,CAACC,KAAD,EAAsB;IACrC,KAAKL,OAAL,GAAeK,KAAf;EACD;;EAE2B,OAArBC,qBAAqB,CAAChD,SAAD,EAA6B;IAAA;;IACvD,OAAO,0BAAK/C,SAAL,+FAAgBiB,QAAhB,gFAA0B+B,OAA1B,CAAkCD,SAAlC,KAA+C,CAAC,CAAvD;EACD;;EAEqB,OAAfiD,eAAe,CAACC,GAAD,EAAcC,KAAd,EAAmC;IACvD,KAAKC,aAAL,CAAmBF,GAAnB,IAA0BC,KAA1B;EACD;;EAEsB,OAAhBE,gBAAgB,GAA2B;IAChD,OAAO,KAAKD,aAAZ;EACD;;EAEgB,OAAVE,UAAU,GAAY;IAC3B,OAAO,KAAKxE,IAAZ;EACD;;EAEgB,OAAVyE,UAAU,GAA8B;IAAA;;IAC7C,OAAO,sEAAMtG,SAAN,sEAAiBuG,CAAjB,KAAsB,EAA7B;EACD;;EAEqB,OAAfC,eAAe,GAA6B;IAAA;;IACjD,OAAO,sEAAMxG,SAAN,sEAAiByG,CAAjB,KAAsB,EAA7B;EACD;;EAE0B,OAApBC,oBAAoB,GAAY;IACrC,OAAO,KAAKC,QAAZ;EACD;;EAE0B,OAApBC,oBAAoB,CAAC7C,MAAD,EAAwB;IACjD,KAAK4C,QAAL,GAAgB5C,MAAhB;EACD;;EAEqB,aAAT8C,SAAS,CAACZ,GAAD,EAAcC,KAAd,EAAyC;IAC7D,MAAMzG,YAAY,CAACqH,OAAb,CAAqBb,GAArB,EAA0Bc,IAAI,CAACC,SAAL,CAAed,KAAf,CAA1B,CAAN;EACD;;EAE8B,aAAlBe,kBAAkB,CAAIhB,GAAJ,EAA6B;IAC1D,MAAMC,KAAK,GAAG,MAAMzG,YAAY,CAACyH,OAAb,CAAqBjB,GAArB,CAApB;IACA,OAAOC,KAAK,GAAGa,IAAI,CAACI,KAAL,CAAWjB,KAAX,CAAH,GAAuBA,KAAnC;EACD;;EAEqB,OAAfkB,eAAe,GAAY;IAChC,OAAO,KAAKC,YAAZ;EACD;;EAEqB,OAAfC,eAAe,CAACC,EAAD,EAAoB;IACxC,KAAKF,YAAL,GAAoBE,EAApB;EACD;;EAEiB,OAAXC,WAAW,GAAW;IAC3B,OAAO,KAAKC,QAAZ;EACD;;EAEiB,OAAXC,WAAW,GAAW;IAC3B,OAAO,KAAKrH,cAAZ;EACD;;EAE2B,OAArBsH,qBAAqB,GAAgB;IAC1C,OAAO;MACLC,GAAG,EAAElI,MAAM,CAACmI,MADP;MAELC,GAAG,EAAEpI,MAAM,CAACqI;IAFP,CAAP;EAID;;EAEiB,OAAXC,WAAW,GAAW;IAC3B,OAAQ,KAAKC,mBAAL,CAAyB,WAAzB,CAAD,IAAqD,MAA5D;EACD;;EAEyB,OAAnBA,mBAAmB,CAACC,KAAD,EAA2C;IACnE,OAAO,KAAKb,YAAL,CAAkBa,KAAlB,CAAP;EACD;;EAEiB,OAAXC,WAAW,CAACC,IAAD,EAAqB;IACrC,KAAKX,QAAL,GAAgBW,IAAI,IAAI,IAAxB;EACD;;EAEuB,OAAjBC,iBAAiB,GAAW;IACjC,OAAO,KAAKrI,SAAL,CAAesI,OAAtB;EACD;;EAEoB,OAAdC,cAAc,CAACtC,GAAD,EAAcC,KAAd,EAAgC;IACnD,KAAKmB,YAAL,CAAkBpB,GAAlB,IAAyBC,KAAzB;EACD;;EAEgB,OAAVsC,UAAU,CAACC,MAAD,EAAmBC,MAAnB,EAA+C;IAC9D,KAAKC,WAAL,GAAmBF,MAAnB;IACA,KAAKG,eAAL,GAAuBF,MAAvB;EACD;;EAEoB,OAAdG,cAAc,GAAa;IAChC,OAAO,KAAKF,WAAL,IAAoB,EAA3B;EACD;;EAEoB,OAAdG,cAAc,GAAiB;IACpC,OAAO,KAAKF,eAAL,IAAwB,EAA/B;EACD;;EAEuB,OAAjBG,iBAAiB,CAACC,QAAD,EAA6B;IACnD,KAAKC,cAAL,GAAsBD,QAAtB;IACA,OAAO,KAAKC,cAAZ;EACD;;EAEuB,OAAjBC,iBAAiB,GAAY;IAClC,OAAO,KAAKD,cAAZ;EACD;;EAEwB,OAAlBE,kBAAkB,GAAW;IAClC,OAAO,KAAK9I,cAAZ;EACD;;EAEgB,OAAV+I,UAAU,GAAW;IAAA;;IAC1B,0BAAO,KAAKtE,SAAZ,oDAAO,gBAAgBG,OAAvB;EACD;;EAEwB,OAAlBoE,kBAAkB,CAAC7I,UAAD,EAA2B;IAAA;;IAClD,KAAKA,UAAL,GAAkBA,UAAlB,aAAkBA,UAAlB,2CAAkBA,UAAU,CAAE8I,IAAZ,EAAlB,qDAAkB,iBAAoBhJ,WAApB,EAAlB;EACD;;EAEmB,OAAbiJ,aAAa,GAAW;IAC7B,OAAO,KAAK/I,UAAZ;EACD;;EAEiB,OAAXgJ,WAAW,GAAW;IAAA;;IAC3B,4BAAO,KAAKjE,WAAZ,sDAAO,kBAAkBkE,GAAzB;EACD;;EAEa,OAAPC,OAAO,GAAW;IAAA;;IACvB,6BAAO,KAAKnE,WAAZ,uDAAO,mBAAkBoE,GAAzB;EACD;;EAE4B,OAAtBC,sBAAsB,GAAuB;IAClD,OAAO,KAAKrE,WAAL,GAAmBwB,IAAI,CAACC,SAAL,CAAe,KAAKzB,WAApB,CAAnB,GAAsDF,SAA7D;EACD;;EAEc,OAARwE,QAAQ,GAAW;IAAA;;IACxB,OAAO,IAAP,aAAO,IAAP,2CAAO,KAAM7J,SAAb,2EAAO,iBAAiBE,CAAxB,uDAAO,mBAAoBmB,IAA3B;EACD;;EAEoB,OAAdyI,cAAc,GAAW;IAC9B,OAAOjK,YAAP;EACD;;EAEc,OAARkK,QAAQ,GAAkB;IAC/B,OAAO,KAAKC,UAAZ;EACD;;EAEc,OAAR/J,QAAQ,CAACgK,QAAD,EAAgC;IAC7C,KAAKD,UAAL,GAAkBC,QAAlB;EACD;;AAjWoB;;gBAAVnK,S,4BAC6B,K;;gBAD7BA,S,kBAE4B,E;;gBAF5BA,S;;gBAAAA,S,qBAIyC,E;;gBAJzCA,S,oBAK8B,E;;gBAL9BA,S,cAMe,I;;gBANfA,S;;gBAAAA,S;;gBAAAA,S;;gBAAAA,S;;gBAAAA,S;;gBAAAA,S,cAYe,I;;gBAZfA,S;;gBAAAA,S,oBAcqB,S;;gBAdrBA,S,gBAeiB,Q;;gBAfjBA,S,cAgBgC,E;;gBAhBhCA,S,kBAiBmB,K;;gBAjBnBA,S;;gBAAAA,S,gCAoB2C,E;;gBApB3CA,S,gCAqB2C,E;;gBArB3CA,S,yBAsBoC,E;;gBAtBpCA,S,mBAwB4C,E"}
1
+ {"version":3,"names":["AsyncStorage","Logger","Platform","Utils","CORE_VERSION","DataStore","init","clientSdk","setMpEnv","s","ev","OS","devicePlatform","toLowerCase","isTablet","deviceType","interestedClientSideEvents","_makeUniqueStringArray","dtmE","ctmE","mpDlE","interestedServerSideEvents","sseDtmE","sseCtmE","sseMpDlE","interestedAllEvents","resetCollectorUrl","c_url","v_id","p_id","isDataStoreInitialized","baseCollectorUrl","sdkEnv","vendorId","projectId","tagsBaseUrl","urls","tfUrl","errUrl","rptUrl","infoUrl","baseUrl","attrInfoUrl","idlUrl","enQueueTMFire","sseOnly","name","dcrName","eventId","dcrPayload","runQueue","push","isDataStoreReady","shouldExecuteTMForEvent","eventName","indexOf","shouldExecuteSST","shouldExecuteClientSideTm","getSdkPcKey","pcKey","getSdkInitOptions","sdkInitOptions","setSdkInitOptions","options","deQueueTMFire","length","pop","isTagManagerProcessing","isProcessing","setTagManagerProcessing","status","getSdkDataElements","d","getSdkQC","qc","hasOneSSTTag","sst","getSSTDownStream","dws_s_t","getClientDownStream","dws_c_t","getClientSdk","getSSTUrl","getAttrInfoUrl","setVisitInfo","visitInfo","visitInfoToString","visitVer","visitId","visitTs","visitCt","visitDepth","undefined","setVisitorInfo","visitorInfo","getDebugId","debugId","getErrorReportUrl","getIdlUrl","getSdkVersion","setDebugId","dbgId","shouldFireSstForEvent","addCommonCookie","key","value","commonCookies","getCommonCookies","getUrlInfo","getSdkTags","t","getSdkProviders","p","getPrivacyCompliance","prStatus","setPrivacyCompliance","storeData","setItem","JSON","stringify","getDataFromStorage","getItem","parse","getDataElements","dataElements","setDataElements","de","getPageLang","pageLang","getDeviceOs","getDataElementHelpers","log","logDbg","err","logError","getPageName","getDataElementValue","param","setPageLang","lang","getSdkPageLangKey","langKey","setDataElement","setValidQc","qcList","qcInfo","validQcList","validQcInfoList","getValidQcList","getValidQcInfo","setTransFunctions","elements","transFunctions","getTransFunctions","getOperatingSystem","getVisitId","overrideDeviceType","trim","getDeviceType","getDeviceId","dId","getMpId","mId","getVisitorInfoAsString","getOrgId","getCoreVersion","getMpEnv","mpEnvShort","shortEnv"],"sources":["data-store.ts"],"sourcesContent":["import AsyncStorage from '@react-native-async-storage/async-storage';\nimport type {\n DeJsvHelper,\n MapLike,\n QcInfoItem,\n RunQueueModel,\n SdkInitOptions,\n UrlInfo,\n VisitInfo,\n VisitorInfo,\n} from './app-types';\nimport { Logger } from './logger';\nimport type {\n ClientSdkDeItem,\n ClientSdkPrItem,\n ClientSdkQcItem,\n ClientSdkTagItem,\n MpClientSdk,\n} from '../models/mp-client-sdk';\nimport { Platform } from 'react-native';\nimport { Utils } from './utils';\n\nconst CORE_VERSION = '0.8.5';\n\nexport class DataStore {\n private static isDataStoreInitialized = false;\n private static dataElements: MapLike = {};\n private static validQcList: string[];\n private static validQcInfoList: Array<QcInfoItem> = [];\n private static transFunctions: MapLike = {};\n private static prStatus = true;\n private static clientSdk: MpClientSdk;\n private static urls: UrlInfo;\n private static debugId: string;\n private static visitorInfo: VisitorInfo;\n private static visitInfo: VisitInfo;\n private static pageLang = 'en';\n private static mpEnvShort: 'stg' | 'prd';\n private static devicePlatform = 'unknown';\n private static deviceType = 'mobile';\n private static runQueue: RunQueueModel[] = [];\n private static isProcessing = false;\n private static sdkInitOptions: SdkInitOptions;\n\n private static interestedClientSideEvents: string[] = [];\n private static interestedServerSideEvents: string[] = [];\n private static interestedAllEvents: string[] = [];\n\n private static commonCookies: Record<string, string> = {};\n\n static async init(clientSdk: MpClientSdk): Promise<void> {\n this.clientSdk = clientSdk;\n this.setMpEnv(clientSdk?.s?.ev === 'staging' ? 'stg' : 'prd');\n if (typeof Platform !== 'undefined' && typeof Platform.OS !== 'undefined') {\n this.devicePlatform = Platform.OS.toLowerCase();\n }\n\n if (Utils.isTablet()) {\n this.deviceType = 'tablet';\n } else {\n this.deviceType = 'mobile';\n }\n\n this.interestedClientSideEvents = Utils._makeUniqueStringArray([\n ...(clientSdk.dtmE ?? []),\n ...(clientSdk.ctmE ?? []),\n ...(clientSdk.mpDlE ?? []),\n ]);\n\n this.interestedServerSideEvents = Utils._makeUniqueStringArray([\n ...(clientSdk.sseDtmE ?? []),\n ...(clientSdk.sseCtmE ?? []),\n ...(clientSdk.sseMpDlE ?? []),\n ]);\n\n this.interestedAllEvents = Utils._makeUniqueStringArray([\n ...this.interestedClientSideEvents,\n ...this.interestedServerSideEvents,\n ]);\n\n this.resetCollectorUrl(\n clientSdk.s.c_url,\n clientSdk.s.ev,\n clientSdk.s.v_id,\n clientSdk.s.p_id\n );\n this.isDataStoreInitialized = true;\n }\n\n static resetCollectorUrl(\n baseCollectorUrl: string,\n sdkEnv: string,\n vendorId: string,\n projectId: string\n ): boolean {\n const tagsBaseUrl = `${baseCollectorUrl}/${\n sdkEnv === 'staging' ? 's' : 'p'\n }/${vendorId}/${projectId}`;\n this.urls = {\n tfUrl: tagsBaseUrl + '/sst',\n errUrl: tagsBaseUrl + '/err',\n rptUrl: tagsBaseUrl + '/report',\n infoUrl: tagsBaseUrl + '/info',\n baseUrl: baseCollectorUrl,\n attrInfoUrl: baseCollectorUrl + `/idl/${vendorId}/attrInfo`,\n idlUrl:\n baseCollectorUrl +\n `/idl/${vendorId}/idl${sdkEnv === 'staging' ? '-staging' : ''}`,\n };\n return true;\n }\n\n static enQueueTMFire(\n sseOnly: boolean,\n name: string,\n dcrName: string,\n eventId: string,\n dcrPayload?: Record<string, any>\n ): void {\n this.runQueue.push({ sseOnly, name, dcrName, eventId, dcrPayload });\n }\n\n static isDataStoreReady(): boolean {\n return this.isDataStoreInitialized;\n }\n\n static shouldExecuteTMForEvent(eventName: string): boolean {\n return this.interestedAllEvents.indexOf(eventName) > -1;\n }\n\n static shouldExecuteSST(eventName: string): boolean {\n return this.interestedServerSideEvents.indexOf(eventName) > -1;\n }\n\n static shouldExecuteClientSideTm(eventName: string): boolean {\n return this.interestedClientSideEvents.indexOf(eventName) > -1;\n }\n\n static getSdkPcKey(): string {\n return this.clientSdk.pcKey;\n }\n\n static getSdkInitOptions(): SdkInitOptions {\n return this.sdkInitOptions;\n }\n\n static setSdkInitOptions(options: SdkInitOptions): void {\n this.sdkInitOptions = options;\n }\n\n static deQueueTMFire(): RunQueueModel {\n return this.runQueue.length > 0 ? this.runQueue.pop() : null;\n }\n\n static isTagManagerProcessing(): boolean {\n return this.isProcessing;\n }\n\n static setTagManagerProcessing(status: boolean): void {\n this.isProcessing = status;\n }\n\n static getSdkDataElements(): MapLike<ClientSdkDeItem> {\n return this.clientSdk?.d || {};\n }\n\n static getSdkQC(): ClientSdkQcItem[] {\n return this.clientSdk?.qc || [];\n }\n\n static hasOneSSTTag(): boolean {\n return this.clientSdk.s.sst;\n }\n\n static getSSTDownStream(): 'j' | 'n' {\n return this.clientSdk.s.dws_s_t;\n }\n\n static getClientDownStream(): 'j' | 'n' {\n return this.clientSdk.s.dws_c_t;\n }\n\n static getClientSdk(): MpClientSdk {\n return this.clientSdk;\n }\n\n static getSSTUrl(): string {\n return this.urls.tfUrl;\n }\n\n static getAttrInfoUrl(): string {\n return this.urls.attrInfoUrl;\n }\n\n static setVisitInfo(visitInfo: VisitInfo): void {\n this.visitInfo = visitInfo;\n }\n\n static visitInfoToString(): string {\n return this.visitInfo\n ? `${this.visitInfo.visitVer}|${this.visitInfo.visitId}|${this.visitInfo.visitTs}|${this.visitInfo.visitCt}|${this.visitInfo.visitDepth}`\n : undefined;\n }\n\n static setVisitorInfo(visitorInfo: VisitorInfo): void {\n this.visitorInfo = visitorInfo;\n }\n\n static getDebugId(): string {\n return this.debugId;\n }\n\n static getErrorReportUrl(): string {\n return this.urls.errUrl;\n }\n\n static getIdlUrl(): string {\n return this.urls?.idlUrl;\n }\n\n static getSdkVersion(): string {\n // TODO: Fix this\n return 'na';\n }\n\n static setDebugId(dbgId: string): void {\n this.debugId = dbgId;\n }\n\n static shouldFireSstForEvent(eventName: string): boolean {\n return this.clientSdk?.sseMpDlE?.indexOf(eventName) > -1;\n }\n\n static addCommonCookie(key: string, value: string): void {\n this.commonCookies[key] = value;\n }\n\n static getCommonCookies(): Record<string, string> {\n return this.commonCookies;\n }\n\n static getUrlInfo(): UrlInfo {\n return this.urls;\n }\n\n static getSdkTags(): MapLike<ClientSdkTagItem> {\n return this?.clientSdk?.t ?? {};\n }\n\n static getSdkProviders(): MapLike<ClientSdkPrItem> {\n return this?.clientSdk?.p ?? {};\n }\n\n static getPrivacyCompliance(): boolean {\n return this.prStatus;\n }\n\n static setPrivacyCompliance(status: boolean): void {\n this.prStatus = status;\n }\n\n static async storeData(key: string, value: any): Promise<void> {\n await AsyncStorage.setItem(key, JSON.stringify(value));\n }\n\n static async getDataFromStorage<T>(key: string): Promise<T> {\n const value = await AsyncStorage.getItem(key);\n return value ? JSON.parse(value) : value;\n }\n\n static getDataElements(): MapLike {\n return this.dataElements;\n }\n\n static setDataElements(de: MapLike): void {\n this.dataElements = de;\n }\n\n static getPageLang(): string {\n return this.pageLang;\n }\n\n static getDeviceOs(): string {\n return this.devicePlatform;\n }\n\n static getDataElementHelpers(): DeJsvHelper {\n return {\n log: Logger.logDbg,\n err: Logger.logError,\n };\n }\n\n static getPageName(): string {\n return (this.getDataElementValue('page_name') as string) || 'none';\n }\n\n static getDataElementValue(param: string): string | boolean | number {\n return this.dataElements[param];\n }\n\n static setPageLang(lang: string): void {\n this.pageLang = lang || 'en';\n }\n\n static getSdkPageLangKey(): string {\n return this.clientSdk.langKey;\n }\n\n static setDataElement(key: string, value: any): void {\n this.dataElements[key] = value;\n }\n\n static setValidQc(qcList: string[], qcInfo: QcInfoItem[]): void {\n this.validQcList = qcList;\n this.validQcInfoList = qcInfo;\n }\n\n static getValidQcList(): string[] {\n return this.validQcList || [];\n }\n\n static getValidQcInfo(): QcInfoItem[] {\n return this.validQcInfoList || [];\n }\n\n static setTransFunctions(elements: MapLike): MapLike {\n this.transFunctions = elements;\n return this.transFunctions;\n }\n\n static getTransFunctions(): MapLike {\n return this.transFunctions;\n }\n\n static getOperatingSystem(): string {\n return this.devicePlatform;\n }\n\n static getVisitId(): string {\n return this.visitInfo?.visitId;\n }\n\n static overrideDeviceType(deviceType: string): void {\n this.deviceType = deviceType?.trim()?.toLowerCase();\n }\n\n static getDeviceType(): string {\n return this.deviceType;\n }\n\n static getDeviceId(): string {\n return this.visitorInfo?.dId;\n }\n\n static getMpId(): string {\n return this.visitorInfo?.mId;\n }\n\n static getVisitorInfoAsString(): string | undefined {\n return this.visitorInfo ? JSON.stringify(this.visitorInfo) : undefined;\n }\n\n static getOrgId(): string {\n return this?.clientSdk?.s?.v_id;\n }\n\n static getCoreVersion(): string {\n return CORE_VERSION;\n }\n\n static getMpEnv(): 'stg' | 'prd' {\n return this.mpEnvShort;\n }\n\n static setMpEnv(shortEnv: 'stg' | 'prd'): void {\n this.mpEnvShort = shortEnv;\n }\n}\n"],"mappings":"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"}
@@ -206,13 +206,14 @@ export class MpDataLayerHelper {
206
206
  }
207
207
 
208
208
  ready() {
209
+ this.isReady = true;
210
+
209
211
  if (this.receivedInitialEvent) {
210
212
  Logger.logDbg('Initial event received: ', this.dlInitEvent); // drain queue only if the initial configured event has been received,
211
213
  // otherwise mark isReady but dont drain the queue. queue will be drained first when the init
212
214
  // event is received
213
215
 
214
216
  this.drainQueue();
215
- this.isReady = true;
216
217
  } else {
217
218
  Logger.logDbg(`Initial event (${this.dlInitEvent}) NOT received. Events will be queued`);
218
219
  }
@@ -1 +1 @@
1
- {"version":3,"names":["Utils","Logger","MpDataLayerHelper","constructor","dlEventName","dlInitMode","dlInitEvent","isReady","ready","init","globalEventListeners","globalEventListenerKeys","Object","keys","length","key","registerProcessor","pushEvent","eventName","payload","logDbg","JSON","stringify","processQItems","receivedInitialEvent","eventQueue","push","setDl","eventProcessor","err","logError","obj","_tmp","flattenObject","_masterDataLayer","assign","getDl","model","reset","undefined","ev","getUniqueID","Date","now","_clone","eventTs","eventPayload","stateTracker","triggerEvent","eventProcessors","processor","safeExecute","overrideDlInitEvent","eventType","fn","get","getState","hasEventHappened","find","i","drainQueue","_temp","splice","initialEventObjectIndex","findIndex","e","item"],"sources":["eedl.ts"],"sourcesContent":["import { Utils } from '../common/utils';\nimport type { EventProcessorFn, MapLike, TypedAny } from '../common/app-types';\nimport { Logger } from '../common/logger';\n\nexport class MpDataLayerHelper {\n isReady = false;\n _masterDataLayer: MapLike = {};\n eventProcessors: Record<string, any> = {};\n stateTracker: Array<any> = [];\n dlInitEvent: string;\n receivedInitialEvent = false;\n eventQueue: Array<any> = [];\n\n constructor(\n private readonly dlEventName: string,\n private readonly dlInitMode: string,\n dlInitEvent: string\n ) {\n this.dlInitEvent = dlInitEvent;\n\n if (this.dlInitMode !== 'manual') {\n this.isReady = true;\n }\n\n if (this.isReady) {\n this.ready();\n }\n }\n\n init(globalEventListeners: Record<string, EventProcessorFn>): void {\n // register any global event listeners passed through to the init command\n const globalEventListenerKeys = Object.keys(globalEventListeners || {});\n if (globalEventListenerKeys?.length > 0) {\n for (const key of globalEventListenerKeys) {\n if (typeof globalEventListeners[key] !== 'undefined') {\n this.registerProcessor(key, globalEventListeners[key] as any);\n }\n }\n }\n }\n\n pushEvent(eventName: string, payload: MapLike): void {\n Logger.logDbg('EV Push Event:: ', JSON.stringify(payload));\n if (eventName === 'set') {\n // process regardless\n this.processQItems(eventName, payload);\n } else {\n if (!this.receivedInitialEvent) {\n // set only if this is not true already\n this.receivedInitialEvent = eventName === this.dlInitEvent;\n this.eventQueue.push([eventName, payload]);\n if (this.isReady && this.receivedInitialEvent) {\n this.ready();\n }\n } else if (!this.isReady) {\n this.eventQueue.push([eventName, payload]);\n } else {\n this.processQItems(eventName, payload);\n }\n }\n }\n\n processQItems(eventName: string, payload: MapLike): void {\n try {\n if (eventName === 'set') {\n this.setDl(payload);\n } else {\n this.eventProcessor(eventName, payload);\n }\n /* Make sure nothing is written below this line. If you do so, remember to return on error conditions above */\n } catch (err) {\n Logger.logError('Error performing init setup on dl', err);\n }\n }\n\n /**\n * Private Processor for 'set' command object\n */\n setDl(obj: TypedAny | undefined): boolean {\n if (!obj) {\n return false;\n }\n const _tmp = Utils.flattenObject(obj);\n this._masterDataLayer = Object.assign({}, this._masterDataLayer, _tmp);\n return true;\n }\n\n getDl(): TypedAny {\n return this._masterDataLayer;\n }\n\n /**\n * Private event processor. Idea is that whenever an event is detected, we create a copy of the master data layer,\n * add the event variables, and trigger the event requested when initializing the data layer helper\n * @param eventName\n * @param model\n */\n eventProcessor(eventName: string, model: TypedAny | undefined): void {\n /**\n * The following If block clears the data layer when the initial event is received.\n * This is done to prevent value carry overs from one page to another in single page apps\n */\n if (eventName === 'reset' || eventName === this.dlInitEvent) {\n this.reset();\n this.setDl(model);\n model = undefined;\n }\n\n if (model) {\n model = {\n ev: (model || {}) as any,\n };\n } else {\n model = {};\n }\n\n // generate a unique id for each event automatically\n model['ev._id'] = Utils.getUniqueID();\n\n // add the event ts also for every event\n model['ev._tsMs'] = Date.now();\n\n model['ev._eventName'] = eventName;\n\n model = Utils.flattenObject(model);\n\n // create a clone of master data layer and merge event model to it\n const _clone = Object.assign({}, this._masterDataLayer, model);\n const eventTs = Date.now();\n\n const eventPayload = {\n eventName: eventName,\n eventTs: eventTs,\n model: _clone,\n };\n\n // add to state tracker\n this.stateTracker.push(eventPayload);\n\n // trigger an event that can be listened to by other listeners\n Utils.triggerEvent(this.dlEventName, eventPayload);\n\n // see if there are any other registered processors and invoke them\n if (this.eventProcessors[eventName]) {\n for (const processor of this.eventProcessors[eventName]) {\n Utils.safeExecute(processor, eventPayload);\n }\n }\n }\n\n overrideDlInitEvent(eventName: string): string {\n if (eventName && eventName.length > 0) {\n this.dlInitEvent = eventName;\n return 'Dl Init Event Override Successful';\n }\n return 'Dl Init Event Override Failed';\n }\n\n /**\n * Exposed method for registering custom processors for events\n * @param eventType\n * @param fn\n */\n registerProcessor(eventType: string, fn: EventProcessorFn): void {\n if (!eventType || !fn || typeof fn !== 'function') {\n Logger.logError('EventType and Fn are mandatory');\n return;\n }\n if (!this.eventProcessors[eventType]) {\n this.eventProcessors[eventType] = [];\n }\n\n this.eventProcessors[eventType].push(fn);\n }\n\n /**\n * Exposed getter for getting values from data layer\n * @param key\n * @returns {*|undefined}\n */\n get(key: string): MapLike | undefined {\n return this._masterDataLayer[key] || undefined;\n }\n\n getState(): TypedAny[] {\n return this.stateTracker;\n }\n\n hasEventHappened(key: string): boolean {\n return !!this.stateTracker.find((i) => i.eventName === key);\n }\n\n reset(): boolean {\n this._masterDataLayer = {};\n return true;\n }\n\n ready(): void {\n if (this.receivedInitialEvent) {\n Logger.logDbg('Initial event received: ', this.dlInitEvent);\n // drain queue only if the initial configured event has been received,\n // otherwise mark isReady but dont drain the queue. queue will be drained first when the init\n // event is received\n this.drainQueue();\n this.isReady = true;\n } else {\n Logger.logDbg(\n `Initial event (${this.dlInitEvent}) NOT received. Events will be queued`\n );\n }\n }\n\n drainQueue(): void {\n Logger.logDbg('drainQueue...');\n // create a copy of the array\n const _temp = [...this.eventQueue];\n // clean the array\n this.eventQueue.splice(0, this.eventQueue.length);\n // find the event with dlInit event and execute it first, rest continues\n const initialEventObjectIndex = _temp.findIndex(\n (e) => [e][0]?.[0] === this.dlInitEvent\n );\n if (initialEventObjectIndex > -1) {\n // splice and execute it\n this.processQItems(\n _temp[initialEventObjectIndex][0],\n _temp[initialEventObjectIndex][1]\n );\n _temp.splice(initialEventObjectIndex, 1);\n }\n // continue with other items\n for (const item of _temp) {\n this.processQItems(item[0], item[1]);\n }\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["Utils","Logger","MpDataLayerHelper","constructor","dlEventName","dlInitMode","dlInitEvent","isReady","ready","init","globalEventListeners","globalEventListenerKeys","Object","keys","length","key","registerProcessor","pushEvent","eventName","payload","logDbg","JSON","stringify","processQItems","receivedInitialEvent","eventQueue","push","setDl","eventProcessor","err","logError","obj","_tmp","flattenObject","_masterDataLayer","assign","getDl","model","reset","undefined","ev","getUniqueID","Date","now","_clone","eventTs","eventPayload","stateTracker","triggerEvent","eventProcessors","processor","safeExecute","overrideDlInitEvent","eventType","fn","get","getState","hasEventHappened","find","i","drainQueue","_temp","splice","initialEventObjectIndex","findIndex","e","item"],"sources":["eedl.ts"],"sourcesContent":["import { Utils } from '../common/utils';\nimport type { EventProcessorFn, MapLike, TypedAny } from '../common/app-types';\nimport { Logger } from '../common/logger';\n\nexport class MpDataLayerHelper {\n isReady = false;\n _masterDataLayer: MapLike = {};\n eventProcessors: Record<string, any> = {};\n stateTracker: Array<any> = [];\n dlInitEvent: string;\n receivedInitialEvent = false;\n eventQueue: Array<any> = [];\n\n constructor(\n private readonly dlEventName: string,\n private readonly dlInitMode: string,\n dlInitEvent: string\n ) {\n this.dlInitEvent = dlInitEvent;\n\n if (this.dlInitMode !== 'manual') {\n this.isReady = true;\n }\n\n if (this.isReady) {\n this.ready();\n }\n }\n\n init(globalEventListeners: Record<string, EventProcessorFn>): void {\n // register any global event listeners passed through to the init command\n const globalEventListenerKeys = Object.keys(globalEventListeners || {});\n if (globalEventListenerKeys?.length > 0) {\n for (const key of globalEventListenerKeys) {\n if (typeof globalEventListeners[key] !== 'undefined') {\n this.registerProcessor(key, globalEventListeners[key] as any);\n }\n }\n }\n }\n\n pushEvent(eventName: string, payload: MapLike): void {\n Logger.logDbg('EV Push Event:: ', JSON.stringify(payload));\n if (eventName === 'set') {\n // process regardless\n this.processQItems(eventName, payload);\n } else {\n if (!this.receivedInitialEvent) {\n // set only if this is not true already\n this.receivedInitialEvent = eventName === this.dlInitEvent;\n this.eventQueue.push([eventName, payload]);\n if (this.isReady && this.receivedInitialEvent) {\n this.ready();\n }\n } else if (!this.isReady) {\n this.eventQueue.push([eventName, payload]);\n } else {\n this.processQItems(eventName, payload);\n }\n }\n }\n\n processQItems(eventName: string, payload: MapLike): void {\n try {\n if (eventName === 'set') {\n this.setDl(payload);\n } else {\n this.eventProcessor(eventName, payload);\n }\n /* Make sure nothing is written below this line. If you do so, remember to return on error conditions above */\n } catch (err) {\n Logger.logError('Error performing init setup on dl', err);\n }\n }\n\n /**\n * Private Processor for 'set' command object\n */\n setDl(obj: TypedAny | undefined): boolean {\n if (!obj) {\n return false;\n }\n const _tmp = Utils.flattenObject(obj);\n this._masterDataLayer = Object.assign({}, this._masterDataLayer, _tmp);\n return true;\n }\n\n getDl(): TypedAny {\n return this._masterDataLayer;\n }\n\n /**\n * Private event processor. Idea is that whenever an event is detected, we create a copy of the master data layer,\n * add the event variables, and trigger the event requested when initializing the data layer helper\n * @param eventName\n * @param model\n */\n eventProcessor(eventName: string, model: TypedAny | undefined): void {\n /**\n * The following If block clears the data layer when the initial event is received.\n * This is done to prevent value carry overs from one page to another in single page apps\n */\n if (eventName === 'reset' || eventName === this.dlInitEvent) {\n this.reset();\n this.setDl(model);\n model = undefined;\n }\n\n if (model) {\n model = {\n ev: (model || {}) as any,\n };\n } else {\n model = {};\n }\n\n // generate a unique id for each event automatically\n model['ev._id'] = Utils.getUniqueID();\n\n // add the event ts also for every event\n model['ev._tsMs'] = Date.now();\n\n model['ev._eventName'] = eventName;\n\n model = Utils.flattenObject(model);\n\n // create a clone of master data layer and merge event model to it\n const _clone = Object.assign({}, this._masterDataLayer, model);\n const eventTs = Date.now();\n\n const eventPayload = {\n eventName: eventName,\n eventTs: eventTs,\n model: _clone,\n };\n\n // add to state tracker\n this.stateTracker.push(eventPayload);\n\n // trigger an event that can be listened to by other listeners\n Utils.triggerEvent(this.dlEventName, eventPayload);\n\n // see if there are any other registered processors and invoke them\n if (this.eventProcessors[eventName]) {\n for (const processor of this.eventProcessors[eventName]) {\n Utils.safeExecute(processor, eventPayload);\n }\n }\n }\n\n overrideDlInitEvent(eventName: string): string {\n if (eventName && eventName.length > 0) {\n this.dlInitEvent = eventName;\n return 'Dl Init Event Override Successful';\n }\n return 'Dl Init Event Override Failed';\n }\n\n /**\n * Exposed method for registering custom processors for events\n * @param eventType\n * @param fn\n */\n registerProcessor(eventType: string, fn: EventProcessorFn): void {\n if (!eventType || !fn || typeof fn !== 'function') {\n Logger.logError('EventType and Fn are mandatory');\n return;\n }\n if (!this.eventProcessors[eventType]) {\n this.eventProcessors[eventType] = [];\n }\n\n this.eventProcessors[eventType].push(fn);\n }\n\n /**\n * Exposed getter for getting values from data layer\n * @param key\n * @returns {*|undefined}\n */\n get(key: string): MapLike | undefined {\n return this._masterDataLayer[key] || undefined;\n }\n\n getState(): TypedAny[] {\n return this.stateTracker;\n }\n\n hasEventHappened(key: string): boolean {\n return !!this.stateTracker.find((i) => i.eventName === key);\n }\n\n reset(): boolean {\n this._masterDataLayer = {};\n return true;\n }\n\n ready(): void {\n this.isReady = true;\n if (this.receivedInitialEvent) {\n Logger.logDbg('Initial event received: ', this.dlInitEvent);\n // drain queue only if the initial configured event has been received,\n // otherwise mark isReady but dont drain the queue. queue will be drained first when the init\n // event is received\n this.drainQueue();\n } else {\n Logger.logDbg(\n `Initial event (${this.dlInitEvent}) NOT received. Events will be queued`\n );\n }\n }\n\n drainQueue(): void {\n Logger.logDbg('drainQueue...');\n // create a copy of the array\n const _temp = [...this.eventQueue];\n // clean the array\n this.eventQueue.splice(0, this.eventQueue.length);\n // find the event with dlInit event and execute it first, rest continues\n const initialEventObjectIndex = _temp.findIndex(\n (e) => [e][0]?.[0] === this.dlInitEvent\n );\n if (initialEventObjectIndex > -1) {\n // splice and execute it\n this.processQItems(\n _temp[initialEventObjectIndex][0],\n _temp[initialEventObjectIndex][1]\n );\n _temp.splice(initialEventObjectIndex, 1);\n }\n // continue with other items\n for (const item of _temp) {\n this.processQItems(item[0], item[1]);\n }\n }\n}\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@magicpixel/rn-mp-client-sdk",
3
- "version": "0.8.2",
3
+ "version": "0.8.5",
4
4
  "description": "test",
5
5
  "main": "lib/commonjs/index",
6
6
  "module": "lib/module/index",
@@ -20,7 +20,7 @@ import type {
20
20
  import { Platform } from 'react-native';
21
21
  import { Utils } from './utils';
22
22
 
23
- const CORE_VERSION = '0.8.1';
23
+ const CORE_VERSION = '0.8.5';
24
24
 
25
25
  export class DataStore {
26
26
  private static isDataStoreInitialized = false;
package/src/eedl/eedl.ts CHANGED
@@ -196,13 +196,13 @@ export class MpDataLayerHelper {
196
196
  }
197
197
 
198
198
  ready(): void {
199
+ this.isReady = true;
199
200
  if (this.receivedInitialEvent) {
200
201
  Logger.logDbg('Initial event received: ', this.dlInitEvent);
201
202
  // drain queue only if the initial configured event has been received,
202
203
  // otherwise mark isReady but dont drain the queue. queue will be drained first when the init
203
204
  // event is received
204
205
  this.drainQueue();
205
- this.isReady = true;
206
206
  } else {
207
207
  Logger.logDbg(
208
208
  `Initial event (${this.dlInitEvent}) NOT received. Events will be queued`