@magicpixel/rn-mp-client-sdk 0.8.5 → 0.8.6
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.
- package/lib/commonjs/common/app-types.js.map +1 -1
- package/lib/commonjs/common/data-store.js +2 -3
- package/lib/commonjs/common/data-store.js.map +1 -1
- package/lib/commonjs/common/utils.js +20 -0
- package/lib/commonjs/common/utils.js.map +1 -1
- package/lib/commonjs/index.js +4 -2
- package/lib/commonjs/index.js.map +1 -1
- package/lib/module/common/app-types.js.map +1 -1
- package/lib/module/common/data-store.js +2 -3
- package/lib/module/common/data-store.js.map +1 -1
- package/lib/module/common/utils.js +19 -0
- package/lib/module/common/utils.js.map +1 -1
- package/lib/module/index.js +4 -2
- package/lib/module/index.js.map +1 -1
- package/lib/typescript/common/app-types.d.ts +2 -0
- package/lib/typescript/common/utils.d.ts +1 -0
- package/package.json +4 -3
- package/src/common/app-types.ts +2 -0
- package/src/common/data-store.ts +2 -3
- package/src/common/utils.ts +17 -0
- package/src/index.tsx +2 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["app-types.ts"],"sourcesContent":["import type { Logger } from './logger';\n\nexport interface MapLike<T = any> {\n [key: string]: T;\n}\n\nexport interface RunQueueModel {\n sseOnly: boolean;\n name: string;\n dcrName: string;\n eventId: string;\n dcrPayload?: Record<string, any>;\n}\n\nexport type TypedAny = Record<\n string,\n | string\n | number\n | boolean\n | string[]\n | boolean[]\n | number[]\n | Record<string, string | number | boolean | string[] | boolean[] | number[]>\n>;\n\nexport type EventProcessorFn = (payload: TypedAny) => void;\n\nexport interface AppCustomerInfo {\n first_name?: string;\n last_name?: string;\n email?: string;\n phone_number: number;\n country_code: number;\n city?: string;\n state?: string;\n country?: string;\n}\n\nexport interface AppPageLoad {\n page_name: string;\n is_entry?: number;\n}\n\nexport interface DeJsvHelper {\n log: typeof Logger.logDbg;\n err: typeof Logger.logError;\n}\n\nexport interface QcInfoItem {\n nm: string;\n id: string;\n st: boolean;\n}\n\nexport interface TagInfoItem {\n id: string;\n nm: string;\n pr: string;\n prNm: string;\n status: boolean;\n qc: string | string[];\n}\n\nexport type ReplaceMode = 'kph' | 'rph';\n\nexport interface HydrateTagInfo {\n isInError: boolean;\n content: string | number | null;\n errCd: string; // error code\n errMsg: string; // any descriptive error message\n}\n\nexport interface ReportTagItem {\n st: 200 | 900 | 1000 | number; // what happened to this tag?\n t: string; // tag id\n p: string; // provider id\n tNm: string;\n req: any; // request payload\n}\n\nexport interface Report {\n envName: string; // environment name inside magic pixel\n envId: string; // environment id inside magic pixel\n pname?: string; // page name\n evt: string; // dcr event if that triggered this report\n evtId: string; // event id\n dt?: number; // device type (converted to int)\n ln?: number; // language (converted to int)\n bw?: number; // browser name (converted to int)\n dm?: string; // clean domain name\n items: ReportTagItem[]; // list of tag items fired on that page for that condition\n tagCt: number; // expected tag count on this page\n dws: 'j' | 'n'; // down stream configuration. java or node\n v: string; // client sdk version for this call\n}\n\nexport interface UrlInfo {\n tfUrl: string;\n errUrl: string;\n rptUrl: string;\n infoUrl: string;\n baseUrl: string;\n attrInfoUrl: string;\n idlUrl: string;\n}\n\nexport interface VisitInfo {\n visitId: string;\n visitTs: number;\n visitCt: number;\n visitDepth: number;\n visitVer: number;\n}\n\nexport interface VisitorInfo {\n dId: string;\n mId: string;\n st: number;\n}\n\nexport interface SdkInitOptions {\n orgId: string;\n env: string;\n projectId: string;\n baseUrl: string;\n\n device_type?: string;\n\n app_version?: string;\n}\n\nexport type EventBusCallback = (event: string, payload: any) => void;\n"],"mappings":""}
|
|
1
|
+
{"version":3,"names":[],"sources":["app-types.ts"],"sourcesContent":["import type { Logger } from './logger';\n\nexport interface MapLike<T = any> {\n [key: string]: T;\n}\n\nexport interface RunQueueModel {\n sseOnly: boolean;\n name: string;\n dcrName: string;\n eventId: string;\n dcrPayload?: Record<string, any>;\n}\n\nexport type TypedAny = Record<\n string,\n | string\n | number\n | boolean\n | string[]\n | boolean[]\n | number[]\n | Record<string, string | number | boolean | string[] | boolean[] | number[]>\n>;\n\nexport type EventProcessorFn = (payload: TypedAny) => void;\n\nexport interface AppCustomerInfo {\n first_name?: string;\n last_name?: string;\n email?: string;\n phone_number: number;\n country_code: number;\n city?: string;\n state?: string;\n country?: string;\n}\n\nexport interface AppPageLoad {\n page_name: string;\n is_entry?: number;\n deep_link_url?: string;\n app_version?: string;\n}\n\nexport interface DeJsvHelper {\n log: typeof Logger.logDbg;\n err: typeof Logger.logError;\n}\n\nexport interface QcInfoItem {\n nm: string;\n id: string;\n st: boolean;\n}\n\nexport interface TagInfoItem {\n id: string;\n nm: string;\n pr: string;\n prNm: string;\n status: boolean;\n qc: string | string[];\n}\n\nexport type ReplaceMode = 'kph' | 'rph';\n\nexport interface HydrateTagInfo {\n isInError: boolean;\n content: string | number | null;\n errCd: string; // error code\n errMsg: string; // any descriptive error message\n}\n\nexport interface ReportTagItem {\n st: 200 | 900 | 1000 | number; // what happened to this tag?\n t: string; // tag id\n p: string; // provider id\n tNm: string;\n req: any; // request payload\n}\n\nexport interface Report {\n envName: string; // environment name inside magic pixel\n envId: string; // environment id inside magic pixel\n pname?: string; // page name\n evt: string; // dcr event if that triggered this report\n evtId: string; // event id\n dt?: number; // device type (converted to int)\n ln?: number; // language (converted to int)\n bw?: number; // browser name (converted to int)\n dm?: string; // clean domain name\n items: ReportTagItem[]; // list of tag items fired on that page for that condition\n tagCt: number; // expected tag count on this page\n dws: 'j' | 'n'; // down stream configuration. java or node\n v: string; // client sdk version for this call\n}\n\nexport interface UrlInfo {\n tfUrl: string;\n errUrl: string;\n rptUrl: string;\n infoUrl: string;\n baseUrl: string;\n attrInfoUrl: string;\n idlUrl: string;\n}\n\nexport interface VisitInfo {\n visitId: string;\n visitTs: number;\n visitCt: number;\n visitDepth: number;\n visitVer: number;\n}\n\nexport interface VisitorInfo {\n dId: string;\n mId: string;\n st: number;\n}\n\nexport interface SdkInitOptions {\n orgId: string;\n env: string;\n projectId: string;\n baseUrl: string;\n\n device_type?: string;\n\n app_version?: string;\n}\n\nexport type EventBusCallback = (event: string, payload: any) => void;\n"],"mappings":""}
|
|
@@ -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.
|
|
20
|
+
const CORE_VERSION = '0.8.6';
|
|
21
21
|
|
|
22
22
|
class DataStore {
|
|
23
23
|
static async init(clientSdk) {
|
|
@@ -170,8 +170,7 @@ class DataStore {
|
|
|
170
170
|
}
|
|
171
171
|
|
|
172
172
|
static getSdkVersion() {
|
|
173
|
-
|
|
174
|
-
return 'na';
|
|
173
|
+
return this.clientSdk.s.v;
|
|
175
174
|
}
|
|
176
175
|
|
|
177
176
|
static setDebugId(dbgId) {
|
|
@@ -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.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":";;;;;;;AAAA;;AAWA;;AAQA;;AACA;;;;;;AAEA,MAAMA,YAAY,GAAG,OAArB;;AAEO,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,OAAOC,qBAAP,KAAoB,WAApB,IAAmC,OAAOA,qBAAA,CAASC,EAAhB,KAAuB,WAA9D,EAA2E;MACzE,KAAKC,cAAL,GAAsBF,qBAAA,CAASC,EAAT,CAAYE,WAAZ,EAAtB;IACD;;IAED,IAAIC,YAAA,CAAMC,QAAN,EAAJ,EAAsB;MACpB,KAAKC,UAAL,GAAkB,QAAlB;IACD,CAFD,MAEO;MACL,KAAKA,UAAL,GAAkB,QAAlB;IACD;;IAED,KAAKC,0BAAL,GAAkCH,YAAA,CAAMI,sBAAN,CAA6B,CAC7D,IAAIZ,SAAS,CAACa,IAAV,IAAkB,EAAtB,CAD6D,EAE7D,IAAIb,SAAS,CAACc,IAAV,IAAkB,EAAtB,CAF6D,EAG7D,IAAId,SAAS,CAACe,KAAV,IAAmB,EAAvB,CAH6D,CAA7B,CAAlC;IAMA,KAAKC,0BAAL,GAAkCR,YAAA,CAAMI,sBAAN,CAA6B,CAC7D,IAAIZ,SAAS,CAACiB,OAAV,IAAqB,EAAzB,CAD6D,EAE7D,IAAIjB,SAAS,CAACkB,OAAV,IAAqB,EAAzB,CAF6D,EAG7D,IAAIlB,SAAS,CAACmB,QAAV,IAAsB,EAA1B,CAH6D,CAA7B,CAAlC;IAMA,KAAKC,mBAAL,GAA2BZ,YAAA,CAAMI,sBAAN,CAA6B,CACtD,GAAG,KAAKD,0BAD8C,EAEtD,GAAG,KAAKK,0BAF8C,CAA7B,CAA3B;IAKA,KAAKK,iBAAL,CACErB,SAAS,CAACE,CAAV,CAAYoB,KADd,EAEEtB,SAAS,CAACE,CAAV,CAAYC,EAFd,EAGEH,SAAS,CAACE,CAAV,CAAYqB,IAHd,EAIEvB,SAAS,CAACE,CAAV,CAAYsB,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,KAAKrD,SAAL,CAAesD,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,yBAAKlE,SAAL,oEAAgBmE,CAAhB,KAAqB,EAA5B;EACD;;EAEc,OAARC,QAAQ,GAAsB;IAAA;;IACnC,OAAO,0BAAKpE,SAAL,sEAAgBqE,EAAhB,KAAsB,EAA7B;EACD;;EAEkB,OAAZC,YAAY,GAAY;IAC7B,OAAO,KAAKtE,SAAL,CAAeE,CAAf,CAAiBqE,GAAxB;EACD;;EAEsB,OAAhBC,gBAAgB,GAAc;IACnC,OAAO,KAAKxE,SAAL,CAAeE,CAAf,CAAiBuE,OAAxB;EACD;;EAEyB,OAAnBC,mBAAmB,GAAc;IACtC,OAAO,KAAK1E,SAAL,CAAeE,CAAf,CAAiByE,OAAxB;EACD;;EAEkB,OAAZC,YAAY,GAAgB;IACjC,OAAO,KAAK5E,SAAZ;EACD;;EAEe,OAAT6E,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,0BAAKjD,SAAL,+FAAgBmB,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,sEAAMxG,SAAN,sEAAiByG,CAAjB,KAAsB,EAA7B;EACD;;EAEqB,OAAfC,eAAe,GAA6B;IAAA;;IACjD,OAAO,sEAAM1G,SAAN,sEAAiB2G,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,MAAMY,qBAAA,CAAaC,OAAb,CAAqBd,GAArB,EAA0Be,IAAI,CAACC,SAAL,CAAef,KAAf,CAA1B,CAAN;EACD;;EAE8B,aAAlBgB,kBAAkB,CAAIjB,GAAJ,EAA6B;IAC1D,MAAMC,KAAK,GAAG,MAAMY,qBAAA,CAAaK,OAAb,CAAqBlB,GAArB,CAApB;IACA,OAAOC,KAAK,GAAGc,IAAI,CAACI,KAAL,CAAWlB,KAAX,CAAH,GAAuBA,KAAnC;EACD;;EAEqB,OAAfmB,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,KAAKvH,cAAZ;EACD;;EAE2B,OAArBwH,qBAAqB,GAAgB;IAC1C,OAAO;MACLC,GAAG,EAAEC,cAAA,CAAOC,MADP;MAELC,GAAG,EAAEF,cAAA,CAAOG;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,KAAKd,YAAL,CAAkBc,KAAlB,CAAP;EACD;;EAEiB,OAAXC,WAAW,CAACC,IAAD,EAAqB;IACrC,KAAKZ,QAAL,GAAgBY,IAAI,IAAI,IAAxB;EACD;;EAEuB,OAAjBC,iBAAiB,GAAW;IACjC,OAAO,KAAKzI,SAAL,CAAe0I,OAAtB;EACD;;EAEoB,OAAdC,cAAc,CAACxC,GAAD,EAAcC,KAAd,EAAgC;IACnD,KAAKoB,YAAL,CAAkBrB,GAAlB,IAAyBC,KAAzB;EACD;;EAEgB,OAAVwC,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,KAAKjJ,cAAZ;EACD;;EAEgB,OAAVkJ,UAAU,GAAW;IAAA;;IAC1B,0BAAO,KAAKxE,SAAZ,oDAAO,gBAAgBG,OAAvB;EACD;;EAEwB,OAAlBsE,kBAAkB,CAAC/I,UAAD,EAA2B;IAAA;;IAClD,KAAKA,UAAL,GAAkBA,UAAlB,aAAkBA,UAAlB,2CAAkBA,UAAU,CAAEgJ,IAAZ,EAAlB,qDAAkB,iBAAoBnJ,WAApB,EAAlB;EACD;;EAEmB,OAAboJ,aAAa,GAAW;IAC7B,OAAO,KAAKjJ,UAAZ;EACD;;EAEiB,OAAXkJ,WAAW,GAAW;IAAA;;IAC3B,4BAAO,KAAKnE,WAAZ,sDAAO,kBAAkBoE,GAAzB;EACD;;EAEa,OAAPC,OAAO,GAAW;IAAA;;IACvB,6BAAO,KAAKrE,WAAZ,uDAAO,mBAAkBsE,GAAzB;EACD;;EAE4B,OAAtBC,sBAAsB,GAAuB;IAClD,OAAO,KAAKvE,WAAL,GAAmByB,IAAI,CAACC,SAAL,CAAe,KAAK1B,WAApB,CAAnB,GAAsDF,SAA7D;EACD;;EAEc,OAAR0E,QAAQ,GAAW;IAAA;;IACxB,OAAO,IAAP,aAAO,IAAP,2CAAO,KAAMjK,SAAb,2EAAO,iBAAiBE,CAAxB,uDAAO,mBAAoBqB,IAA3B;EACD;;EAEoB,OAAd2I,cAAc,GAAW;IAC9B,OAAOrK,YAAP;EACD;;EAEc,OAARsK,QAAQ,GAAkB;IAC/B,OAAO,KAAKC,UAAZ;EACD;;EAEc,OAARnK,QAAQ,CAACoK,QAAD,EAAgC;IAC7C,KAAKD,UAAL,GAAkBC,QAAlB;EACD;;AAjWoB;;;;gBAAVvK,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":["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","v","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.6';\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 return this.clientSdk.s.v;\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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"}
|
|
@@ -15,6 +15,8 @@ var _eventBus = require("./event-bus");
|
|
|
15
15
|
|
|
16
16
|
var _reactNative = require("react-native");
|
|
17
17
|
|
|
18
|
+
var _reactNativeUrlPolyfill = require("react-native-url-polyfill");
|
|
19
|
+
|
|
18
20
|
class Utils {
|
|
19
21
|
static triggerEvent(eventName, payload) {
|
|
20
22
|
_eventBus.EventBus.triggerEvent(eventName, payload);
|
|
@@ -28,6 +30,24 @@ class Utils {
|
|
|
28
30
|
return [...new Set(input)];
|
|
29
31
|
}
|
|
30
32
|
|
|
33
|
+
static parseQueryParamsToObject(url) {
|
|
34
|
+
const op = {};
|
|
35
|
+
|
|
36
|
+
try {
|
|
37
|
+
if (url && (url === null || url === void 0 ? void 0 : url.trim().length) > 0) {
|
|
38
|
+
const urlObject = new _reactNativeUrlPolyfill.URL(url);
|
|
39
|
+
urlObject.searchParams.forEach((value, name) => {
|
|
40
|
+
op[name] = value;
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
} catch (err) {
|
|
44
|
+
// TODO: Report error
|
|
45
|
+
_logger.Logger.logError('Unable to parse query params', err);
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
return op;
|
|
49
|
+
}
|
|
50
|
+
|
|
31
51
|
static isTablet() {
|
|
32
52
|
const dim = _reactNative.Dimensions.get('screen');
|
|
33
53
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Utils","triggerEvent","eventName","payload","EventBus","calculateMsp","dim","limit","scale","width","height","_makeUniqueStringArray","input","Set","isTablet","Dimensions","get","sleep","delay","Promise","resolve","setTimeout","dtToNum","deviceType","bwToNum","browser","langToNum","language","mergeMaps","toMerge","mapObject","Object","keys","forEach","key","applyTransformationResourceParam","paramValue","tf","length","tfItem","nm","eTyp","encodeURIComponent","Buffer","from","toString","isMatch","toTest","inputs","ignoreCase","fullMatch","isMatched","i","_val","convertToRegex","test","regExpEscape","replace","RegExp","split","map","join","safeExecute","fn","err","Logger","logError","getUniqueID","Constants","LARGE_RANDOM_POOL","getSimpleDebugId","prefix","randomNumber","min","max","Math","ceil","random","unFlattenResourceParams","transformMap","op","item","pId","children","id","push","values","sort","sortAscending","unFlattenObject","obj","unflatten","object","delimiter","flattenObject","flatten","maxDepth","safe"],"sources":["utils.ts"],"sourcesContent":["import { Constants } from './constants';\nimport { Logger } from './logger';\nimport type {\n BaseResourceParamType,\n SdkParamEncodingTransformer,\n TFType,\n} from '../models/mp-client-sdk';\nimport type { MapLike } from './app-types';\nimport { flatten, unflatten } from 'flat';\nimport { EventBus } from './event-bus';\nimport { Dimensions, ScaledSize } from 'react-native';\n\nexport class Utils {\n static triggerEvent(eventName: string, payload: any): void {\n EventBus.triggerEvent(eventName, payload);\n }\n\n static calculateMsp(dim: ScaledSize, limit: number): boolean {\n return dim.scale * dim.width >= limit || dim.scale * dim.height >= limit;\n }\n\n static _makeUniqueStringArray(input: string[]): string[] {\n return [...new Set(input)];\n }\n\n static isTablet(): boolean {\n const dim = Dimensions.get('screen');\n return (\n (dim.scale < 2 && this.calculateMsp(dim, 1000)) ||\n (dim.scale >= 2 && this.calculateMsp(dim, 1900))\n );\n }\n\n static sleep(delay = 1000): Promise<void> {\n return new Promise((resolve: (val?: any) => void) => {\n setTimeout(() => {\n return resolve();\n }, delay);\n });\n }\n\n /**\n * deviceTypesMappings = {'1':'Desktop Web','2':'Mobile Web','3':'Tablet','4':'Other'};\n * @param deviceType\n */\n static dtToNum(deviceType: string): number {\n switch (deviceType) {\n case 'desktop':\n return 1;\n case 'mobile':\n return 2;\n case 'tablet':\n return 3;\n default:\n return 4;\n }\n }\n\n /**\n * static browserToOsMappings = {'101': 'ios','102': 'android', '7': 'Other'};\n * @param browser\n */\n static bwToNum(browser: string): number {\n switch (browser) {\n case 'ios':\n return 101;\n case 'android':\n return 102;\n default:\n return 7;\n }\n }\n\n static langToNum(language: string): number {\n if (language === 'en') {\n return 1;\n } else if (language === 'es') {\n return 2;\n } else {\n return 3;\n }\n }\n\n static mergeMaps<T>(\n input: MapLike<T>,\n ...toMerge: Array<MapLike<T>>\n ): MapLike<T> {\n if (!input) {\n input = {} as MapLike<T>;\n }\n for (const mapObject of toMerge) {\n if (mapObject) {\n Object.keys(mapObject).forEach((key: string) => {\n input[key] = mapObject[key];\n });\n }\n }\n return input;\n }\n\n static applyTransformationResourceParam(\n paramValue: string,\n tf: TFType | undefined\n ): any {\n if (!tf || tf.length === 0) {\n return paramValue;\n }\n\n if (typeof paramValue === 'undefined') {\n return paramValue;\n }\n\n // transformers here are expected to be ordered when we get it from the server after build\n for (let tfItem of tf) {\n if (tfItem.nm === 'enc') {\n // only url encode is implemented now\n tfItem = tfItem as SdkParamEncodingTransformer;\n if (tfItem.eTyp === 'URL_ENC') {\n paramValue = encodeURIComponent(paramValue);\n } else if (tfItem.eTyp === 'BASE64') {\n paramValue = Buffer.from(paramValue).toString('base64');\n }\n }\n }\n\n return paramValue;\n }\n\n /**\n * Verifies if the given 'toTest' string exists in any of the input array of strings.\n * By default, this method does a case sensitive match unless specified by the ignoreCase param.\n * @param toTest\n * @param inputs\n * @param ignoreCase - pass a value of 'true' to perform case-insensitive matching.\n * @param fullMatch\n */\n static isMatch(\n toTest: string,\n inputs: string[],\n ignoreCase: boolean,\n fullMatch: boolean\n ): boolean {\n if (!toTest) {\n return false;\n }\n let isMatched = false;\n for (let i = 0; i < inputs.length; i += 1) {\n const _val = inputs[i];\n if (_val) {\n if (this.convertToRegex(_val, ignoreCase, fullMatch).test(toTest)) {\n isMatched = true;\n break;\n }\n }\n }\n return isMatched;\n }\n\n static regExpEscape(input: string): string {\n return input.replace(/[|\\\\{}()[\\]^$+*?.]/g, '\\\\$&');\n }\n\n static convertToRegex(\n input: string,\n ignoreCase: boolean,\n fullMatch: boolean\n ): RegExp {\n if (fullMatch) {\n return new RegExp(\n '^' + input.split(/\\*+/).map(this.regExpEscape).join('.*') + '$',\n ignoreCase ? 'i' : ''\n );\n } else {\n return new RegExp(\n input.split(/\\*+/).map(this.regExpEscape).join('.*'),\n ignoreCase ? 'i' : ''\n );\n }\n }\n\n static safeExecute(fn: (payload: any) => any, payload: any): any {\n try {\n return fn(payload);\n } catch (err) {\n Logger.logError('Error executing function: ', err);\n }\n }\n\n static getUniqueID(): string {\n return Constants.LARGE_RANDOM_POOL();\n }\n\n static getSimpleDebugId(prefix?: string): string {\n return `${prefix ?? ''}${this.randomNumber(100000000, 99999999999)}`;\n }\n\n static randomNumber(min: number, max: number): number {\n return Math.ceil(Math.random() * (max - min) + min);\n }\n\n static unFlattenResourceParams<T extends BaseResourceParamType>(\n input: T[]\n ): MapLike<T> {\n if (!input || input.length === 0) {\n return {};\n }\n\n const transformMap: MapLike<T> = {};\n const op: MapLike<T> = {};\n // convert input into a map for quick search O(1)\n for (const item of input) {\n if (item.pId) {\n if (!transformMap[item.pId]) {\n item.children = [];\n transformMap[item.id] = item;\n } else {\n transformMap[item.pId].children.push(item);\n }\n } else {\n item.children = [];\n transformMap[item.id] = item;\n }\n }\n\n // sort children according to child_order inside children if they have any children\n for (const item of Object.values(transformMap)) {\n if (item.children && item.children.length > 0) {\n item.children = item.children.sort(Constants.sortAscending);\n op[item.nm] = item;\n } else {\n op[item.nm] = item;\n }\n }\n\n return op;\n }\n\n static unFlattenObject(obj: any): Record<string, any> {\n if (!obj) {\n return {};\n }\n return unflatten(obj, { object: false, delimiter: '.' });\n }\n\n static flattenObject(obj: any): Record<string, any> {\n if (!obj) {\n return {};\n }\n return flatten(obj, { maxDepth: 5, safe: true });\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["Utils","triggerEvent","eventName","payload","EventBus","calculateMsp","dim","limit","scale","width","height","_makeUniqueStringArray","input","Set","parseQueryParamsToObject","url","op","trim","length","urlObject","URL","searchParams","forEach","value","name","err","Logger","logError","isTablet","Dimensions","get","sleep","delay","Promise","resolve","setTimeout","dtToNum","deviceType","bwToNum","browser","langToNum","language","mergeMaps","toMerge","mapObject","Object","keys","key","applyTransformationResourceParam","paramValue","tf","tfItem","nm","eTyp","encodeURIComponent","Buffer","from","toString","isMatch","toTest","inputs","ignoreCase","fullMatch","isMatched","i","_val","convertToRegex","test","regExpEscape","replace","RegExp","split","map","join","safeExecute","fn","getUniqueID","Constants","LARGE_RANDOM_POOL","getSimpleDebugId","prefix","randomNumber","min","max","Math","ceil","random","unFlattenResourceParams","transformMap","item","pId","children","id","push","values","sort","sortAscending","unFlattenObject","obj","unflatten","object","delimiter","flattenObject","flatten","maxDepth","safe"],"sources":["utils.ts"],"sourcesContent":["import { Constants } from './constants';\nimport { Logger } from './logger';\nimport type {\n BaseResourceParamType,\n SdkParamEncodingTransformer,\n TFType,\n} from '../models/mp-client-sdk';\nimport type { MapLike } from './app-types';\nimport { flatten, unflatten } from 'flat';\nimport { EventBus } from './event-bus';\nimport { Dimensions, ScaledSize } from 'react-native';\nimport { URL } from 'react-native-url-polyfill';\n\nexport class Utils {\n static triggerEvent(eventName: string, payload: any): void {\n EventBus.triggerEvent(eventName, payload);\n }\n\n static calculateMsp(dim: ScaledSize, limit: number): boolean {\n return dim.scale * dim.width >= limit || dim.scale * dim.height >= limit;\n }\n\n static _makeUniqueStringArray(input: string[]): string[] {\n return [...new Set(input)];\n }\n\n static parseQueryParamsToObject(url?: string): Record<string, any> {\n const op: Record<string, any> = {};\n try {\n if (url && url?.trim().length > 0) {\n const urlObject = new URL(url);\n urlObject.searchParams.forEach((value, name) => {\n op[name] = value;\n });\n }\n } catch (err) {\n // TODO: Report error\n Logger.logError('Unable to parse query params', err);\n }\n return op;\n }\n\n static isTablet(): boolean {\n const dim = Dimensions.get('screen');\n return (\n (dim.scale < 2 && this.calculateMsp(dim, 1000)) ||\n (dim.scale >= 2 && this.calculateMsp(dim, 1900))\n );\n }\n\n static sleep(delay = 1000): Promise<void> {\n return new Promise((resolve: (val?: any) => void) => {\n setTimeout(() => {\n return resolve();\n }, delay);\n });\n }\n\n /**\n * deviceTypesMappings = {'1':'Desktop Web','2':'Mobile Web','3':'Tablet','4':'Other'};\n * @param deviceType\n */\n static dtToNum(deviceType: string): number {\n switch (deviceType) {\n case 'desktop':\n return 1;\n case 'mobile':\n return 2;\n case 'tablet':\n return 3;\n default:\n return 4;\n }\n }\n\n /**\n * static browserToOsMappings = {'101': 'ios','102': 'android', '7': 'Other'};\n * @param browser\n */\n static bwToNum(browser: string): number {\n switch (browser) {\n case 'ios':\n return 101;\n case 'android':\n return 102;\n default:\n return 7;\n }\n }\n\n static langToNum(language: string): number {\n if (language === 'en') {\n return 1;\n } else if (language === 'es') {\n return 2;\n } else {\n return 3;\n }\n }\n\n static mergeMaps<T>(\n input: MapLike<T>,\n ...toMerge: Array<MapLike<T>>\n ): MapLike<T> {\n if (!input) {\n input = {} as MapLike<T>;\n }\n for (const mapObject of toMerge) {\n if (mapObject) {\n Object.keys(mapObject).forEach((key: string) => {\n input[key] = mapObject[key];\n });\n }\n }\n return input;\n }\n\n static applyTransformationResourceParam(\n paramValue: string,\n tf: TFType | undefined\n ): any {\n if (!tf || tf.length === 0) {\n return paramValue;\n }\n\n if (typeof paramValue === 'undefined') {\n return paramValue;\n }\n\n // transformers here are expected to be ordered when we get it from the server after build\n for (let tfItem of tf) {\n if (tfItem.nm === 'enc') {\n // only url encode is implemented now\n tfItem = tfItem as SdkParamEncodingTransformer;\n if (tfItem.eTyp === 'URL_ENC') {\n paramValue = encodeURIComponent(paramValue);\n } else if (tfItem.eTyp === 'BASE64') {\n paramValue = Buffer.from(paramValue).toString('base64');\n }\n }\n }\n\n return paramValue;\n }\n\n /**\n * Verifies if the given 'toTest' string exists in any of the input array of strings.\n * By default, this method does a case sensitive match unless specified by the ignoreCase param.\n * @param toTest\n * @param inputs\n * @param ignoreCase - pass a value of 'true' to perform case-insensitive matching.\n * @param fullMatch\n */\n static isMatch(\n toTest: string,\n inputs: string[],\n ignoreCase: boolean,\n fullMatch: boolean\n ): boolean {\n if (!toTest) {\n return false;\n }\n let isMatched = false;\n for (let i = 0; i < inputs.length; i += 1) {\n const _val = inputs[i];\n if (_val) {\n if (this.convertToRegex(_val, ignoreCase, fullMatch).test(toTest)) {\n isMatched = true;\n break;\n }\n }\n }\n return isMatched;\n }\n\n static regExpEscape(input: string): string {\n return input.replace(/[|\\\\{}()[\\]^$+*?.]/g, '\\\\$&');\n }\n\n static convertToRegex(\n input: string,\n ignoreCase: boolean,\n fullMatch: boolean\n ): RegExp {\n if (fullMatch) {\n return new RegExp(\n '^' + input.split(/\\*+/).map(this.regExpEscape).join('.*') + '$',\n ignoreCase ? 'i' : ''\n );\n } else {\n return new RegExp(\n input.split(/\\*+/).map(this.regExpEscape).join('.*'),\n ignoreCase ? 'i' : ''\n );\n }\n }\n\n static safeExecute(fn: (payload: any) => any, payload: any): any {\n try {\n return fn(payload);\n } catch (err) {\n Logger.logError('Error executing function: ', err);\n }\n }\n\n static getUniqueID(): string {\n return Constants.LARGE_RANDOM_POOL();\n }\n\n static getSimpleDebugId(prefix?: string): string {\n return `${prefix ?? ''}${this.randomNumber(100000000, 99999999999)}`;\n }\n\n static randomNumber(min: number, max: number): number {\n return Math.ceil(Math.random() * (max - min) + min);\n }\n\n static unFlattenResourceParams<T extends BaseResourceParamType>(\n input: T[]\n ): MapLike<T> {\n if (!input || input.length === 0) {\n return {};\n }\n\n const transformMap: MapLike<T> = {};\n const op: MapLike<T> = {};\n // convert input into a map for quick search O(1)\n for (const item of input) {\n if (item.pId) {\n if (!transformMap[item.pId]) {\n item.children = [];\n transformMap[item.id] = item;\n } else {\n transformMap[item.pId].children.push(item);\n }\n } else {\n item.children = [];\n transformMap[item.id] = item;\n }\n }\n\n // sort children according to child_order inside children if they have any children\n for (const item of Object.values(transformMap)) {\n if (item.children && item.children.length > 0) {\n item.children = item.children.sort(Constants.sortAscending);\n op[item.nm] = item;\n } else {\n op[item.nm] = item;\n }\n }\n\n return op;\n }\n\n static unFlattenObject(obj: any): Record<string, any> {\n if (!obj) {\n return {};\n }\n return unflatten(obj, { object: false, delimiter: '.' });\n }\n\n static flattenObject(obj: any): Record<string, any> {\n if (!obj) {\n return {};\n }\n return flatten(obj, { maxDepth: 5, safe: true });\n }\n}\n"],"mappings":"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"}
|
package/lib/commonjs/index.js
CHANGED
|
@@ -252,12 +252,14 @@ class MagicPixelImpl {
|
|
|
252
252
|
if (this.customerInfo) {
|
|
253
253
|
const newPayload = { ...pageLoadInfo,
|
|
254
254
|
...this.customerInfo,
|
|
255
|
-
...(this.customerIdentifiers ?? {})
|
|
255
|
+
...(this.customerIdentifiers ?? {}),
|
|
256
|
+
..._utils.Utils.parseQueryParamsToObject(pageLoadInfo === null || pageLoadInfo === void 0 ? void 0 : pageLoadInfo.deep_link_url)
|
|
256
257
|
};
|
|
257
258
|
this.dl.pushEvent('page_load', newPayload);
|
|
258
259
|
} else {
|
|
259
260
|
const newPayload = { ...pageLoadInfo,
|
|
260
|
-
...(this.customerIdentifiers ?? {})
|
|
261
|
+
...(this.customerIdentifiers ?? {}),
|
|
262
|
+
..._utils.Utils.parseQueryParamsToObject(pageLoadInfo === null || pageLoadInfo === void 0 ? void 0 : pageLoadInfo.deep_link_url)
|
|
261
263
|
};
|
|
262
264
|
this.dl.pushEvent('page_load', newPayload);
|
|
263
265
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["DL_INIT_EVENT","MagicPixelImpl","init","options","NetworkService","refreshClientSdkJson","DataStore","isDataStoreReady","Error","device_type","trim","length","overrideDeviceType","setAppVersion","app_version","VisitIdProcessor","orgId","fbp","getFacebookFBP","Logger","logDbg","setFacebookClientId","MagicPixelEventBus","on","evtName","payload","JSON","stringify","eventName","eventDataModel","model","eventId","shouldExecuteTMForEvent","enQueueTMFire","checkAndFireTM","isFirstOpen","isFirstOpenAfterInstall","recordEvent","ready","customerInfo","newPayload","customerIdentifiers","dl","pushEvent","getDebugId","isTagManagerProcessing","item","deQueueTMFire","name","dcrName","dcrPayload","runTM","sseOnly","err","logError","Reporter","reportError","triggerName","evtId","eventData","setTagManagerProcessing","DataElementProcessor","processDataElements","getSdkDataElements","sdk","getClientSdk","pcKey","getSdkPcKey","pcVal","getDataElementValue","setPrivacyCompliance","getSdkPageLangKey","setDataElement","setPageLang","getOperatingSystem","toLowerCase","initReporter","s","ev","ev_id","getDeviceType","getPageLang","getDeviceOs","getPageName","getClientDownStream","getCoreVersion","validQCList","QcProcessor","processQc","getSdkQC","getValidQcInfo","TagProcessor","processTags","then","_fireTM","catch","runTMErr","envName","envId","incrementVisitDepth","finally","_fireTMPrivate","hasOneSSTTag","shouldFireSstForEvent","postSST","getDataElements","getSSTDownStream","Utils","sleep","setCustomerInfo","setFirebaseAppInstanceId","instanceId","firebase_instance_id","appVersion","recordPageLoad","pageLoadInfo","is_entry","firstAppLaunch","MpDataLayerHelper","EventBus","MagicPixel"],"sources":["index.tsx"],"sourcesContent":["import { MpDataLayerHelper } from './eedl/eedl';\nimport type {\n AppCustomerInfo,\n AppPageLoad,\n MapLike,\n SdkInitOptions,\n} from './common/app-types';\nimport { DataStore } from './common/data-store';\nimport { Logger } from './common/logger';\nimport { Reporter } from './common/reporter';\nimport { DataElementProcessor } from './processors/data-element.processor';\nimport { TagProcessor } from './processors/tag.processor';\nimport { Utils } from './common/utils';\nimport { QcProcessor } from './processors/qc.processor';\nimport { NetworkService } from './common/network-service';\nimport { EventBus } from './common/event-bus';\nimport { VisitIdProcessor } from './processors/visit-id.processor';\n\nconst DL_INIT_EVENT = 'page_load';\n\nclass MagicPixelImpl {\n private static dl: MpDataLayerHelper = new MpDataLayerHelper(\n 'mpDlEvent',\n 'manual',\n DL_INIT_EVENT\n );\n private static customerInfo: AppCustomerInfo;\n private static customerIdentifiers: MapLike = {};\n private static firstAppLaunch = true;\n\n static async init(options: SdkInitOptions): Promise<void> {\n await NetworkService.refreshClientSdkJson(options);\n\n if (!DataStore.isDataStoreReady()) {\n throw new Error('MagicPixel SDK is not ready. No tags will be processed');\n }\n\n if (\n options &&\n options.device_type &&\n options.device_type?.trim().length > 0\n ) {\n DataStore.overrideDeviceType(options.device_type);\n }\n\n this.setAppVersion(options.app_version);\n\n await VisitIdProcessor.init(options?.orgId);\n\n const fbp = await VisitIdProcessor.getFacebookFBP();\n if (fbp) {\n Logger.logDbg('Setting facebook client id', fbp);\n this.setFacebookClientId(fbp);\n } else {\n Logger.logDbg('No facebook client id found. not setting');\n }\n\n MagicPixelEventBus.on('mpDlEvent', async (evtName, payload) => {\n Logger.logDbg('mpDlEvent:: ', evtName, JSON.stringify(payload));\n const eventName: string = payload.eventName;\n const eventDataModel: MapLike = payload.model ?? {};\n const eventId = eventDataModel['ev._id'];\n\n Logger.logDbg('Tracking Event:: ', eventName, 'with id:: ', eventId);\n\n if (DataStore.shouldExecuteTMForEvent(eventName)) {\n // if this is something the tag manager is interested in - fire tag manager\n DataStore.enQueueTMFire(\n false,\n `custom_event_${eventName}`,\n eventName,\n eventId,\n eventDataModel\n );\n await this.checkAndFireTM();\n }\n });\n\n const isFirstOpen = await VisitIdProcessor.isFirstOpenAfterInstall();\n if (isFirstOpen) {\n Logger.logDbg('First open event fired');\n this.recordEvent('app_first_open', {});\n }\n\n this.ready();\n }\n\n static recordEvent(eventName: string, payload: MapLike): void {\n if (this.customerInfo) {\n const newPayload: MapLike = {\n ...payload,\n ...this.customerInfo,\n ...(this.customerIdentifiers ?? {}),\n };\n this.dl.pushEvent(eventName, newPayload);\n } else {\n const newPayload: MapLike = {\n ...payload,\n ...(this.customerIdentifiers ?? {}),\n };\n this.dl.pushEvent(eventName, newPayload);\n }\n }\n\n static ready(): void {\n this.dl.ready();\n }\n\n static getDebugId(): string {\n return DataStore.getDebugId();\n }\n\n private static async checkAndFireTM(): Promise<void> {\n try {\n if (!DataStore.isTagManagerProcessing()) {\n const item = DataStore.deQueueTMFire();\n if (item) {\n Logger.logDbg(\n 'Executing TM For: ',\n item.name,\n ', Event:: ',\n item.dcrName,\n ', Event id:: ',\n item.eventId,\n 'Payload:: ',\n item.dcrPayload\n );\n await this.runTM(\n item.sseOnly,\n item.name,\n item.dcrName,\n item.eventId,\n item.dcrPayload\n );\n }\n } else {\n Logger.logDbg(\n 'Tag Manager is processing or is not ready. This event will start after that'\n );\n }\n } catch (err) {\n Logger.logError('Error check and process tm', err);\n Reporter.reportError('m:checkAndFireTM', err);\n }\n }\n\n private static async runTM(\n sseOnly: boolean,\n triggerName: string,\n evtName: string,\n evtId: string,\n eventData?: Record<string, any>\n ): Promise<void> {\n try {\n Logger.logDbg(\n 'Running:: ',\n sseOnly,\n triggerName,\n evtName,\n evtId,\n eventData\n );\n\n // set tag manager in process status\n DataStore.setTagManagerProcessing(true);\n\n // process all the data elements and cache them for this run\n await DataElementProcessor.processDataElements(\n DataStore.getSdkDataElements(),\n eventData\n );\n\n const sdk = DataStore.getClientSdk();\n\n const pcKey = DataStore.getSdkPcKey();\n if (pcKey) {\n const pcVal = DataStore.getDataElementValue(pcKey);\n if (typeof pcVal !== 'undefined' && pcVal === true) {\n Logger.logDbg('Set: PR Comp: ', true);\n DataStore.setPrivacyCompliance(true);\n } else {\n Logger.logDbg('Set: PR Comp: ', false);\n DataStore.setPrivacyCompliance(false);\n }\n } else {\n Logger.logDbg('Set: PR Comp: ', false);\n DataStore.setPrivacyCompliance(true);\n }\n\n if (DataStore.getSdkPageLangKey()) {\n DataStore.setDataElement(\n 'page_lang_key',\n DataStore.getSdkPageLangKey()\n );\n DataStore.setPageLang(\n DataStore.getDataElementValue('page_lang_key') as string\n );\n } else {\n DataStore.setDataElement('page_lang_key', null);\n }\n\n //set page_browser default data element with page_os because backend expects this\n DataStore.setDataElement(\n 'page_browser',\n DataStore.getOperatingSystem().toLowerCase()\n );\n\n Reporter.initReporter(\n sdk.s.ev,\n sdk.s.ev_id,\n DataStore.getDeviceType(),\n DataStore.getPageLang(),\n DataStore.getDeviceOs(),\n DataStore.getPageName(),\n evtName,\n evtId,\n DataStore.getClientDownStream(),\n DataStore.getCoreVersion(),\n []\n );\n\n const validQCList = QcProcessor.processQc(\n DataStore.getSdkQC(),\n evtName,\n evtId\n );\n\n if (validQCList?.length > 0) {\n Logger.logDbg('Found Valid QCs to process', DataStore.getValidQcInfo());\n\n TagProcessor.processTags(evtName, evtId)\n .then(() => {\n this._fireTM(sdk.s.ev, sdk.s.ev_id, evtName, evtId);\n })\n .catch((err) => {\n Logger.logError('Error processing tag lists.', err);\n Reporter.reportError('i::processTags', err);\n this._fireTM(sdk.s.ev, sdk.s.ev_id, evtName, evtId);\n });\n } else {\n this._fireTM(sdk.s.ev, sdk.s.ev_id, evtName, evtId);\n }\n } catch (runTMErr) {\n Logger.logError('Error in runTM', runTMErr);\n Reporter.reportError('m::runTM', runTMErr);\n }\n }\n\n private static _fireTM(\n envName: string,\n envId: string,\n evtName: string,\n evtId: string\n ): void {\n // increment visit_depth if event name is page_load because that's the only way we can track page views in an app for now\n if (evtName === DL_INIT_EVENT) {\n VisitIdProcessor.incrementVisitDepth().finally(() => {\n this._fireTMPrivate(envName, envId, evtName, evtId);\n });\n } else {\n this._fireTMPrivate(envName, envId, evtName, evtId);\n }\n }\n\n private static _fireTMPrivate(\n envName: string,\n envId: string,\n evtName: string,\n evtId: string\n ): void {\n if (DataStore.hasOneSSTTag() && DataStore.shouldFireSstForEvent(evtName)) {\n Reporter.postSST(\n DataStore.getDataElements(),\n envName,\n envId,\n DataStore.getSSTDownStream(),\n evtName,\n evtId\n ).catch((err: any) => {\n Reporter.reportError('l::postSST', err);\n });\n }\n\n DataStore.setTagManagerProcessing(false);\n Utils.sleep(250).then(async () => {\n try {\n await this.checkAndFireTM();\n } catch (err) {\n Reporter.reportError('i::runTM', err);\n }\n });\n }\n\n static setCustomerInfo(customerInfo: AppCustomerInfo): void {\n this.customerInfo = customerInfo;\n this.recordEvent('idl_attribution_link', customerInfo);\n }\n\n static setFirebaseAppInstanceId(instanceId: string): void {\n this.customerIdentifiers.firebase_instance_id = instanceId;\n }\n\n static setFacebookClientId(fbp: string): void {\n this.customerIdentifiers.fbp = fbp;\n }\n\n private static setAppVersion(appVersion?: string): void {\n if (appVersion && appVersion?.trim()?.length > 0) {\n this.customerIdentifiers.app_version = appVersion;\n }\n }\n\n static recordPageLoad(pageLoadInfo: AppPageLoad): void {\n pageLoadInfo.is_entry = this.firstAppLaunch ? 1 : 0;\n if (this.customerInfo) {\n const newPayload: MapLike = {\n ...pageLoadInfo,\n ...this.customerInfo,\n ...(this.customerIdentifiers ?? {}),\n };\n this.dl.pushEvent('page_load', newPayload);\n } else {\n const newPayload: MapLike = {\n ...pageLoadInfo,\n ...(this.customerIdentifiers ?? {}),\n };\n this.dl.pushEvent('page_load', newPayload);\n }\n this.firstAppLaunch = false;\n }\n}\n\nexport const MagicPixelEventBus = EventBus;\nexport const MagicPixel = MagicPixelImpl;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["DL_INIT_EVENT","MagicPixelImpl","init","options","NetworkService","refreshClientSdkJson","DataStore","isDataStoreReady","Error","device_type","trim","length","overrideDeviceType","setAppVersion","app_version","VisitIdProcessor","orgId","fbp","getFacebookFBP","Logger","logDbg","setFacebookClientId","MagicPixelEventBus","on","evtName","payload","JSON","stringify","eventName","eventDataModel","model","eventId","shouldExecuteTMForEvent","enQueueTMFire","checkAndFireTM","isFirstOpen","isFirstOpenAfterInstall","recordEvent","ready","customerInfo","newPayload","customerIdentifiers","dl","pushEvent","getDebugId","isTagManagerProcessing","item","deQueueTMFire","name","dcrName","dcrPayload","runTM","sseOnly","err","logError","Reporter","reportError","triggerName","evtId","eventData","setTagManagerProcessing","DataElementProcessor","processDataElements","getSdkDataElements","sdk","getClientSdk","pcKey","getSdkPcKey","pcVal","getDataElementValue","setPrivacyCompliance","getSdkPageLangKey","setDataElement","setPageLang","getOperatingSystem","toLowerCase","initReporter","s","ev","ev_id","getDeviceType","getPageLang","getDeviceOs","getPageName","getClientDownStream","getCoreVersion","validQCList","QcProcessor","processQc","getSdkQC","getValidQcInfo","TagProcessor","processTags","then","_fireTM","catch","runTMErr","envName","envId","incrementVisitDepth","finally","_fireTMPrivate","hasOneSSTTag","shouldFireSstForEvent","postSST","getDataElements","getSSTDownStream","Utils","sleep","setCustomerInfo","setFirebaseAppInstanceId","instanceId","firebase_instance_id","appVersion","recordPageLoad","pageLoadInfo","is_entry","firstAppLaunch","parseQueryParamsToObject","deep_link_url","MpDataLayerHelper","EventBus","MagicPixel"],"sources":["index.tsx"],"sourcesContent":["import { MpDataLayerHelper } from './eedl/eedl';\nimport type {\n AppCustomerInfo,\n AppPageLoad,\n MapLike,\n SdkInitOptions,\n} from './common/app-types';\nimport { DataStore } from './common/data-store';\nimport { Logger } from './common/logger';\nimport { Reporter } from './common/reporter';\nimport { DataElementProcessor } from './processors/data-element.processor';\nimport { TagProcessor } from './processors/tag.processor';\nimport { Utils } from './common/utils';\nimport { QcProcessor } from './processors/qc.processor';\nimport { NetworkService } from './common/network-service';\nimport { EventBus } from './common/event-bus';\nimport { VisitIdProcessor } from './processors/visit-id.processor';\n\nconst DL_INIT_EVENT = 'page_load';\n\nclass MagicPixelImpl {\n private static dl: MpDataLayerHelper = new MpDataLayerHelper(\n 'mpDlEvent',\n 'manual',\n DL_INIT_EVENT\n );\n private static customerInfo: AppCustomerInfo;\n private static customerIdentifiers: MapLike = {};\n private static firstAppLaunch = true;\n\n static async init(options: SdkInitOptions): Promise<void> {\n await NetworkService.refreshClientSdkJson(options);\n\n if (!DataStore.isDataStoreReady()) {\n throw new Error('MagicPixel SDK is not ready. No tags will be processed');\n }\n\n if (\n options &&\n options.device_type &&\n options.device_type?.trim().length > 0\n ) {\n DataStore.overrideDeviceType(options.device_type);\n }\n\n this.setAppVersion(options.app_version);\n\n await VisitIdProcessor.init(options?.orgId);\n\n const fbp = await VisitIdProcessor.getFacebookFBP();\n if (fbp) {\n Logger.logDbg('Setting facebook client id', fbp);\n this.setFacebookClientId(fbp);\n } else {\n Logger.logDbg('No facebook client id found. not setting');\n }\n\n MagicPixelEventBus.on('mpDlEvent', async (evtName, payload) => {\n Logger.logDbg('mpDlEvent:: ', evtName, JSON.stringify(payload));\n const eventName: string = payload.eventName;\n const eventDataModel: MapLike = payload.model ?? {};\n const eventId = eventDataModel['ev._id'];\n\n Logger.logDbg('Tracking Event:: ', eventName, 'with id:: ', eventId);\n\n if (DataStore.shouldExecuteTMForEvent(eventName)) {\n // if this is something the tag manager is interested in - fire tag manager\n DataStore.enQueueTMFire(\n false,\n `custom_event_${eventName}`,\n eventName,\n eventId,\n eventDataModel\n );\n await this.checkAndFireTM();\n }\n });\n\n const isFirstOpen = await VisitIdProcessor.isFirstOpenAfterInstall();\n if (isFirstOpen) {\n Logger.logDbg('First open event fired');\n this.recordEvent('app_first_open', {});\n }\n\n this.ready();\n }\n\n static recordEvent(eventName: string, payload: MapLike): void {\n if (this.customerInfo) {\n const newPayload: MapLike = {\n ...payload,\n ...this.customerInfo,\n ...(this.customerIdentifiers ?? {}),\n };\n this.dl.pushEvent(eventName, newPayload);\n } else {\n const newPayload: MapLike = {\n ...payload,\n ...(this.customerIdentifiers ?? {}),\n };\n this.dl.pushEvent(eventName, newPayload);\n }\n }\n\n static ready(): void {\n this.dl.ready();\n }\n\n static getDebugId(): string {\n return DataStore.getDebugId();\n }\n\n private static async checkAndFireTM(): Promise<void> {\n try {\n if (!DataStore.isTagManagerProcessing()) {\n const item = DataStore.deQueueTMFire();\n if (item) {\n Logger.logDbg(\n 'Executing TM For: ',\n item.name,\n ', Event:: ',\n item.dcrName,\n ', Event id:: ',\n item.eventId,\n 'Payload:: ',\n item.dcrPayload\n );\n await this.runTM(\n item.sseOnly,\n item.name,\n item.dcrName,\n item.eventId,\n item.dcrPayload\n );\n }\n } else {\n Logger.logDbg(\n 'Tag Manager is processing or is not ready. This event will start after that'\n );\n }\n } catch (err) {\n Logger.logError('Error check and process tm', err);\n Reporter.reportError('m:checkAndFireTM', err);\n }\n }\n\n private static async runTM(\n sseOnly: boolean,\n triggerName: string,\n evtName: string,\n evtId: string,\n eventData?: Record<string, any>\n ): Promise<void> {\n try {\n Logger.logDbg(\n 'Running:: ',\n sseOnly,\n triggerName,\n evtName,\n evtId,\n eventData\n );\n\n // set tag manager in process status\n DataStore.setTagManagerProcessing(true);\n\n // process all the data elements and cache them for this run\n await DataElementProcessor.processDataElements(\n DataStore.getSdkDataElements(),\n eventData\n );\n\n const sdk = DataStore.getClientSdk();\n\n const pcKey = DataStore.getSdkPcKey();\n if (pcKey) {\n const pcVal = DataStore.getDataElementValue(pcKey);\n if (typeof pcVal !== 'undefined' && pcVal === true) {\n Logger.logDbg('Set: PR Comp: ', true);\n DataStore.setPrivacyCompliance(true);\n } else {\n Logger.logDbg('Set: PR Comp: ', false);\n DataStore.setPrivacyCompliance(false);\n }\n } else {\n Logger.logDbg('Set: PR Comp: ', false);\n DataStore.setPrivacyCompliance(true);\n }\n\n if (DataStore.getSdkPageLangKey()) {\n DataStore.setDataElement(\n 'page_lang_key',\n DataStore.getSdkPageLangKey()\n );\n DataStore.setPageLang(\n DataStore.getDataElementValue('page_lang_key') as string\n );\n } else {\n DataStore.setDataElement('page_lang_key', null);\n }\n\n //set page_browser default data element with page_os because backend expects this\n DataStore.setDataElement(\n 'page_browser',\n DataStore.getOperatingSystem().toLowerCase()\n );\n\n Reporter.initReporter(\n sdk.s.ev,\n sdk.s.ev_id,\n DataStore.getDeviceType(),\n DataStore.getPageLang(),\n DataStore.getDeviceOs(),\n DataStore.getPageName(),\n evtName,\n evtId,\n DataStore.getClientDownStream(),\n DataStore.getCoreVersion(),\n []\n );\n\n const validQCList = QcProcessor.processQc(\n DataStore.getSdkQC(),\n evtName,\n evtId\n );\n\n if (validQCList?.length > 0) {\n Logger.logDbg('Found Valid QCs to process', DataStore.getValidQcInfo());\n\n TagProcessor.processTags(evtName, evtId)\n .then(() => {\n this._fireTM(sdk.s.ev, sdk.s.ev_id, evtName, evtId);\n })\n .catch((err) => {\n Logger.logError('Error processing tag lists.', err);\n Reporter.reportError('i::processTags', err);\n this._fireTM(sdk.s.ev, sdk.s.ev_id, evtName, evtId);\n });\n } else {\n this._fireTM(sdk.s.ev, sdk.s.ev_id, evtName, evtId);\n }\n } catch (runTMErr) {\n Logger.logError('Error in runTM', runTMErr);\n Reporter.reportError('m::runTM', runTMErr);\n }\n }\n\n private static _fireTM(\n envName: string,\n envId: string,\n evtName: string,\n evtId: string\n ): void {\n // increment visit_depth if event name is page_load because that's the only way we can track page views in an app for now\n if (evtName === DL_INIT_EVENT) {\n VisitIdProcessor.incrementVisitDepth().finally(() => {\n this._fireTMPrivate(envName, envId, evtName, evtId);\n });\n } else {\n this._fireTMPrivate(envName, envId, evtName, evtId);\n }\n }\n\n private static _fireTMPrivate(\n envName: string,\n envId: string,\n evtName: string,\n evtId: string\n ): void {\n if (DataStore.hasOneSSTTag() && DataStore.shouldFireSstForEvent(evtName)) {\n Reporter.postSST(\n DataStore.getDataElements(),\n envName,\n envId,\n DataStore.getSSTDownStream(),\n evtName,\n evtId\n ).catch((err: any) => {\n Reporter.reportError('l::postSST', err);\n });\n }\n\n DataStore.setTagManagerProcessing(false);\n Utils.sleep(250).then(async () => {\n try {\n await this.checkAndFireTM();\n } catch (err) {\n Reporter.reportError('i::runTM', err);\n }\n });\n }\n\n static setCustomerInfo(customerInfo: AppCustomerInfo): void {\n this.customerInfo = customerInfo;\n this.recordEvent('idl_attribution_link', customerInfo);\n }\n\n static setFirebaseAppInstanceId(instanceId: string): void {\n this.customerIdentifiers.firebase_instance_id = instanceId;\n }\n\n static setFacebookClientId(fbp: string): void {\n this.customerIdentifiers.fbp = fbp;\n }\n\n private static setAppVersion(appVersion?: string): void {\n if (appVersion && appVersion?.trim()?.length > 0) {\n this.customerIdentifiers.app_version = appVersion;\n }\n }\n\n static recordPageLoad(pageLoadInfo: AppPageLoad): void {\n pageLoadInfo.is_entry = this.firstAppLaunch ? 1 : 0;\n if (this.customerInfo) {\n const newPayload: MapLike = {\n ...pageLoadInfo,\n ...this.customerInfo,\n ...(this.customerIdentifiers ?? {}),\n ...Utils.parseQueryParamsToObject(pageLoadInfo?.deep_link_url),\n };\n this.dl.pushEvent('page_load', newPayload);\n } else {\n const newPayload: MapLike = {\n ...pageLoadInfo,\n ...(this.customerIdentifiers ?? {}),\n ...Utils.parseQueryParamsToObject(pageLoadInfo?.deep_link_url),\n };\n this.dl.pushEvent('page_load', newPayload);\n }\n this.firstAppLaunch = false;\n }\n}\n\nexport const MagicPixelEventBus = EventBus;\nexport const MagicPixel = MagicPixelImpl;\n"],"mappings":";;;;;;;AAAA;;AAOA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;AAEA,MAAMA,aAAa,GAAG,WAAtB;;AAEA,MAAMC,cAAN,CAAqB;EAUF,aAAJC,IAAI,CAACC,OAAD,EAAyC;IAAA;;IACxD,MAAMC,8BAAA,CAAeC,oBAAf,CAAoCF,OAApC,CAAN;;IAEA,IAAI,CAACG,oBAAA,CAAUC,gBAAV,EAAL,EAAmC;MACjC,MAAM,IAAIC,KAAJ,CAAU,wDAAV,CAAN;IACD;;IAED,IACEL,OAAO,IACPA,OAAO,CAACM,WADR,IAEA,yBAAAN,OAAO,CAACM,WAAR,8EAAqBC,IAArB,GAA4BC,MAA5B,IAAqC,CAHvC,EAIE;MACAL,oBAAA,CAAUM,kBAAV,CAA6BT,OAAO,CAACM,WAArC;IACD;;IAED,KAAKI,aAAL,CAAmBV,OAAO,CAACW,WAA3B;IAEA,MAAMC,yBAAA,CAAiBb,IAAjB,CAAsBC,OAAtB,aAAsBA,OAAtB,uBAAsBA,OAAO,CAAEa,KAA/B,CAAN;IAEA,MAAMC,GAAG,GAAG,MAAMF,yBAAA,CAAiBG,cAAjB,EAAlB;;IACA,IAAID,GAAJ,EAAS;MACPE,cAAA,CAAOC,MAAP,CAAc,4BAAd,EAA4CH,GAA5C;;MACA,KAAKI,mBAAL,CAAyBJ,GAAzB;IACD,CAHD,MAGO;MACLE,cAAA,CAAOC,MAAP,CAAc,0CAAd;IACD;;IAEDE,kBAAkB,CAACC,EAAnB,CAAsB,WAAtB,EAAmC,OAAOC,OAAP,EAAgBC,OAAhB,KAA4B;MAC7DN,cAAA,CAAOC,MAAP,CAAc,cAAd,EAA8BI,OAA9B,EAAuCE,IAAI,CAACC,SAAL,CAAeF,OAAf,CAAvC;;MACA,MAAMG,SAAiB,GAAGH,OAAO,CAACG,SAAlC;MACA,MAAMC,cAAuB,GAAGJ,OAAO,CAACK,KAAR,IAAiB,EAAjD;MACA,MAAMC,OAAO,GAAGF,cAAc,CAAC,QAAD,CAA9B;;MAEAV,cAAA,CAAOC,MAAP,CAAc,mBAAd,EAAmCQ,SAAnC,EAA8C,YAA9C,EAA4DG,OAA5D;;MAEA,IAAIzB,oBAAA,CAAU0B,uBAAV,CAAkCJ,SAAlC,CAAJ,EAAkD;QAChD;QACAtB,oBAAA,CAAU2B,aAAV,CACE,KADF,EAEG,gBAAeL,SAAU,EAF5B,EAGEA,SAHF,EAIEG,OAJF,EAKEF,cALF;;QAOA,MAAM,KAAKK,cAAL,EAAN;MACD;IACF,CAnBD;IAqBA,MAAMC,WAAW,GAAG,MAAMpB,yBAAA,CAAiBqB,uBAAjB,EAA1B;;IACA,IAAID,WAAJ,EAAiB;MACfhB,cAAA,CAAOC,MAAP,CAAc,wBAAd;;MACA,KAAKiB,WAAL,CAAiB,gBAAjB,EAAmC,EAAnC;IACD;;IAED,KAAKC,KAAL;EACD;;EAEiB,OAAXD,WAAW,CAACT,SAAD,EAAoBH,OAApB,EAA4C;IAC5D,IAAI,KAAKc,YAAT,EAAuB;MACrB,MAAMC,UAAmB,GAAG,EAC1B,GAAGf,OADuB;QAE1B,GAAG,KAAKc,YAFkB;QAG1B,IAAI,KAAKE,mBAAL,IAA4B,EAAhC;MAH0B,CAA5B;MAKA,KAAKC,EAAL,CAAQC,SAAR,CAAkBf,SAAlB,EAA6BY,UAA7B;IACD,CAPD,MAOO;MACL,MAAMA,UAAmB,GAAG,EAC1B,GAAGf,OADuB;QAE1B,IAAI,KAAKgB,mBAAL,IAA4B,EAAhC;MAF0B,CAA5B;MAIA,KAAKC,EAAL,CAAQC,SAAR,CAAkBf,SAAlB,EAA6BY,UAA7B;IACD;EACF;;EAEW,OAALF,KAAK,GAAS;IACnB,KAAKI,EAAL,CAAQJ,KAAR;EACD;;EAEgB,OAAVM,UAAU,GAAW;IAC1B,OAAOtC,oBAAA,CAAUsC,UAAV,EAAP;EACD;;EAEkC,aAAdV,cAAc,GAAkB;IACnD,IAAI;MACF,IAAI,CAAC5B,oBAAA,CAAUuC,sBAAV,EAAL,EAAyC;QACvC,MAAMC,IAAI,GAAGxC,oBAAA,CAAUyC,aAAV,EAAb;;QACA,IAAID,IAAJ,EAAU;UACR3B,cAAA,CAAOC,MAAP,CACE,oBADF,EAEE0B,IAAI,CAACE,IAFP,EAGE,YAHF,EAIEF,IAAI,CAACG,OAJP,EAKE,eALF,EAMEH,IAAI,CAACf,OANP,EAOE,YAPF,EAQEe,IAAI,CAACI,UARP;;UAUA,MAAM,KAAKC,KAAL,CACJL,IAAI,CAACM,OADD,EAEJN,IAAI,CAACE,IAFD,EAGJF,IAAI,CAACG,OAHD,EAIJH,IAAI,CAACf,OAJD,EAKJe,IAAI,CAACI,UALD,CAAN;QAOD;MACF,CArBD,MAqBO;QACL/B,cAAA,CAAOC,MAAP,CACE,6EADF;MAGD;IACF,CA3BD,CA2BE,OAAOiC,GAAP,EAAY;MACZlC,cAAA,CAAOmC,QAAP,CAAgB,4BAAhB,EAA8CD,GAA9C;;MACAE,kBAAA,CAASC,WAAT,CAAqB,kBAArB,EAAyCH,GAAzC;IACD;EACF;;EAEyB,aAALF,KAAK,CACxBC,OADwB,EAExBK,WAFwB,EAGxBjC,OAHwB,EAIxBkC,KAJwB,EAKxBC,SALwB,EAMT;IACf,IAAI;MACFxC,cAAA,CAAOC,MAAP,CACE,YADF,EAEEgC,OAFF,EAGEK,WAHF,EAIEjC,OAJF,EAKEkC,KALF,EAMEC,SANF,EADE,CAUF;;;MACArD,oBAAA,CAAUsD,uBAAV,CAAkC,IAAlC,EAXE,CAaF;;;MACA,MAAMC,iCAAA,CAAqBC,mBAArB,CACJxD,oBAAA,CAAUyD,kBAAV,EADI,EAEJJ,SAFI,CAAN;;MAKA,MAAMK,GAAG,GAAG1D,oBAAA,CAAU2D,YAAV,EAAZ;;MAEA,MAAMC,KAAK,GAAG5D,oBAAA,CAAU6D,WAAV,EAAd;;MACA,IAAID,KAAJ,EAAW;QACT,MAAME,KAAK,GAAG9D,oBAAA,CAAU+D,mBAAV,CAA8BH,KAA9B,CAAd;;QACA,IAAI,OAAOE,KAAP,KAAiB,WAAjB,IAAgCA,KAAK,KAAK,IAA9C,EAAoD;UAClDjD,cAAA,CAAOC,MAAP,CAAc,gBAAd,EAAgC,IAAhC;;UACAd,oBAAA,CAAUgE,oBAAV,CAA+B,IAA/B;QACD,CAHD,MAGO;UACLnD,cAAA,CAAOC,MAAP,CAAc,gBAAd,EAAgC,KAAhC;;UACAd,oBAAA,CAAUgE,oBAAV,CAA+B,KAA/B;QACD;MACF,CATD,MASO;QACLnD,cAAA,CAAOC,MAAP,CAAc,gBAAd,EAAgC,KAAhC;;QACAd,oBAAA,CAAUgE,oBAAV,CAA+B,IAA/B;MACD;;MAED,IAAIhE,oBAAA,CAAUiE,iBAAV,EAAJ,EAAmC;QACjCjE,oBAAA,CAAUkE,cAAV,CACE,eADF,EAEElE,oBAAA,CAAUiE,iBAAV,EAFF;;QAIAjE,oBAAA,CAAUmE,WAAV,CACEnE,oBAAA,CAAU+D,mBAAV,CAA8B,eAA9B,CADF;MAGD,CARD,MAQO;QACL/D,oBAAA,CAAUkE,cAAV,CAAyB,eAAzB,EAA0C,IAA1C;MACD,CA9CC,CAgDF;;;MACAlE,oBAAA,CAAUkE,cAAV,CACE,cADF,EAEElE,oBAAA,CAAUoE,kBAAV,GAA+BC,WAA/B,EAFF;;MAKApB,kBAAA,CAASqB,YAAT,CACEZ,GAAG,CAACa,CAAJ,CAAMC,EADR,EAEEd,GAAG,CAACa,CAAJ,CAAME,KAFR,EAGEzE,oBAAA,CAAU0E,aAAV,EAHF,EAIE1E,oBAAA,CAAU2E,WAAV,EAJF,EAKE3E,oBAAA,CAAU4E,WAAV,EALF,EAME5E,oBAAA,CAAU6E,WAAV,EANF,EAOE3D,OAPF,EAQEkC,KARF,EASEpD,oBAAA,CAAU8E,mBAAV,EATF,EAUE9E,oBAAA,CAAU+E,cAAV,EAVF,EAWE,EAXF;;MAcA,MAAMC,WAAW,GAAGC,eAAA,CAAYC,SAAZ,CAClBlF,oBAAA,CAAUmF,QAAV,EADkB,EAElBjE,OAFkB,EAGlBkC,KAHkB,CAApB;;MAMA,IAAI,CAAA4B,WAAW,SAAX,IAAAA,WAAW,WAAX,YAAAA,WAAW,CAAE3E,MAAb,IAAsB,CAA1B,EAA6B;QAC3BQ,cAAA,CAAOC,MAAP,CAAc,4BAAd,EAA4Cd,oBAAA,CAAUoF,cAAV,EAA5C;;QAEAC,iBAAA,CAAaC,WAAb,CAAyBpE,OAAzB,EAAkCkC,KAAlC,EACGmC,IADH,CACQ,MAAM;UACV,KAAKC,OAAL,CAAa9B,GAAG,CAACa,CAAJ,CAAMC,EAAnB,EAAuBd,GAAG,CAACa,CAAJ,CAAME,KAA7B,EAAoCvD,OAApC,EAA6CkC,KAA7C;QACD,CAHH,EAIGqC,KAJH,CAIU1C,GAAD,IAAS;UACdlC,cAAA,CAAOmC,QAAP,CAAgB,6BAAhB,EAA+CD,GAA/C;;UACAE,kBAAA,CAASC,WAAT,CAAqB,gBAArB,EAAuCH,GAAvC;;UACA,KAAKyC,OAAL,CAAa9B,GAAG,CAACa,CAAJ,CAAMC,EAAnB,EAAuBd,GAAG,CAACa,CAAJ,CAAME,KAA7B,EAAoCvD,OAApC,EAA6CkC,KAA7C;QACD,CARH;MASD,CAZD,MAYO;QACL,KAAKoC,OAAL,CAAa9B,GAAG,CAACa,CAAJ,CAAMC,EAAnB,EAAuBd,GAAG,CAACa,CAAJ,CAAME,KAA7B,EAAoCvD,OAApC,EAA6CkC,KAA7C;MACD;IACF,CAzFD,CAyFE,OAAOsC,QAAP,EAAiB;MACjB7E,cAAA,CAAOmC,QAAP,CAAgB,gBAAhB,EAAkC0C,QAAlC;;MACAzC,kBAAA,CAASC,WAAT,CAAqB,UAArB,EAAiCwC,QAAjC;IACD;EACF;;EAEqB,OAAPF,OAAO,CACpBG,OADoB,EAEpBC,KAFoB,EAGpB1E,OAHoB,EAIpBkC,KAJoB,EAKd;IACN;IACA,IAAIlC,OAAO,KAAKxB,aAAhB,EAA+B;MAC7Be,yBAAA,CAAiBoF,mBAAjB,GAAuCC,OAAvC,CAA+C,MAAM;QACnD,KAAKC,cAAL,CAAoBJ,OAApB,EAA6BC,KAA7B,EAAoC1E,OAApC,EAA6CkC,KAA7C;MACD,CAFD;IAGD,CAJD,MAIO;MACL,KAAK2C,cAAL,CAAoBJ,OAApB,EAA6BC,KAA7B,EAAoC1E,OAApC,EAA6CkC,KAA7C;IACD;EACF;;EAE4B,OAAd2C,cAAc,CAC3BJ,OAD2B,EAE3BC,KAF2B,EAG3B1E,OAH2B,EAI3BkC,KAJ2B,EAKrB;IACN,IAAIpD,oBAAA,CAAUgG,YAAV,MAA4BhG,oBAAA,CAAUiG,qBAAV,CAAgC/E,OAAhC,CAAhC,EAA0E;MACxE+B,kBAAA,CAASiD,OAAT,CACElG,oBAAA,CAAUmG,eAAV,EADF,EAEER,OAFF,EAGEC,KAHF,EAIE5F,oBAAA,CAAUoG,gBAAV,EAJF,EAKElF,OALF,EAMEkC,KANF,EAOEqC,KAPF,CAOS1C,GAAD,IAAc;QACpBE,kBAAA,CAASC,WAAT,CAAqB,YAArB,EAAmCH,GAAnC;MACD,CATD;IAUD;;IAED/C,oBAAA,CAAUsD,uBAAV,CAAkC,KAAlC;;IACA+C,YAAA,CAAMC,KAAN,CAAY,GAAZ,EAAiBf,IAAjB,CAAsB,YAAY;MAChC,IAAI;QACF,MAAM,KAAK3D,cAAL,EAAN;MACD,CAFD,CAEE,OAAOmB,GAAP,EAAY;QACZE,kBAAA,CAASC,WAAT,CAAqB,UAArB,EAAiCH,GAAjC;MACD;IACF,CAND;EAOD;;EAEqB,OAAfwD,eAAe,CAACtE,YAAD,EAAsC;IAC1D,KAAKA,YAAL,GAAoBA,YAApB;IACA,KAAKF,WAAL,CAAiB,sBAAjB,EAAyCE,YAAzC;EACD;;EAE8B,OAAxBuE,wBAAwB,CAACC,UAAD,EAA2B;IACxD,KAAKtE,mBAAL,CAAyBuE,oBAAzB,GAAgDD,UAAhD;EACD;;EAEyB,OAAnB1F,mBAAmB,CAACJ,GAAD,EAAoB;IAC5C,KAAKwB,mBAAL,CAAyBxB,GAAzB,GAA+BA,GAA/B;EACD;;EAE2B,OAAbJ,aAAa,CAACoG,UAAD,EAA4B;IAAA;;IACtD,IAAIA,UAAU,IAAI,CAAAA,UAAU,SAAV,IAAAA,UAAU,WAAV,gCAAAA,UAAU,CAAEvG,IAAZ,wEAAoBC,MAApB,IAA6B,CAA/C,EAAkD;MAChD,KAAK8B,mBAAL,CAAyB3B,WAAzB,GAAuCmG,UAAvC;IACD;EACF;;EAEoB,OAAdC,cAAc,CAACC,YAAD,EAAkC;IACrDA,YAAY,CAACC,QAAb,GAAwB,KAAKC,cAAL,GAAsB,CAAtB,GAA0B,CAAlD;;IACA,IAAI,KAAK9E,YAAT,EAAuB;MACrB,MAAMC,UAAmB,GAAG,EAC1B,GAAG2E,YADuB;QAE1B,GAAG,KAAK5E,YAFkB;QAG1B,IAAI,KAAKE,mBAAL,IAA4B,EAAhC,CAH0B;QAI1B,GAAGkE,YAAA,CAAMW,wBAAN,CAA+BH,YAA/B,aAA+BA,YAA/B,uBAA+BA,YAAY,CAAEI,aAA7C;MAJuB,CAA5B;MAMA,KAAK7E,EAAL,CAAQC,SAAR,CAAkB,WAAlB,EAA+BH,UAA/B;IACD,CARD,MAQO;MACL,MAAMA,UAAmB,GAAG,EAC1B,GAAG2E,YADuB;QAE1B,IAAI,KAAK1E,mBAAL,IAA4B,EAAhC,CAF0B;QAG1B,GAAGkE,YAAA,CAAMW,wBAAN,CAA+BH,YAA/B,aAA+BA,YAA/B,uBAA+BA,YAAY,CAAEI,aAA7C;MAHuB,CAA5B;MAKA,KAAK7E,EAAL,CAAQC,SAAR,CAAkB,WAAlB,EAA+BH,UAA/B;IACD;;IACD,KAAK6E,cAAL,GAAsB,KAAtB;EACD;;AAvTkB;;gBAAfpH,c,QACmC,IAAIuH,uBAAJ,CACrC,WADqC,EAErC,QAFqC,EAGrCxH,aAHqC,C;;gBADnCC,c;;gBAAAA,c,yBAO0C,E;;gBAP1CA,c,oBAQ4B,I;;AAkT3B,MAAMqB,kBAAkB,GAAGmG,kBAA3B;;AACA,MAAMC,UAAU,GAAGzH,cAAnB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["app-types.ts"],"sourcesContent":["import type { Logger } from './logger';\n\nexport interface MapLike<T = any> {\n [key: string]: T;\n}\n\nexport interface RunQueueModel {\n sseOnly: boolean;\n name: string;\n dcrName: string;\n eventId: string;\n dcrPayload?: Record<string, any>;\n}\n\nexport type TypedAny = Record<\n string,\n | string\n | number\n | boolean\n | string[]\n | boolean[]\n | number[]\n | Record<string, string | number | boolean | string[] | boolean[] | number[]>\n>;\n\nexport type EventProcessorFn = (payload: TypedAny) => void;\n\nexport interface AppCustomerInfo {\n first_name?: string;\n last_name?: string;\n email?: string;\n phone_number: number;\n country_code: number;\n city?: string;\n state?: string;\n country?: string;\n}\n\nexport interface AppPageLoad {\n page_name: string;\n is_entry?: number;\n}\n\nexport interface DeJsvHelper {\n log: typeof Logger.logDbg;\n err: typeof Logger.logError;\n}\n\nexport interface QcInfoItem {\n nm: string;\n id: string;\n st: boolean;\n}\n\nexport interface TagInfoItem {\n id: string;\n nm: string;\n pr: string;\n prNm: string;\n status: boolean;\n qc: string | string[];\n}\n\nexport type ReplaceMode = 'kph' | 'rph';\n\nexport interface HydrateTagInfo {\n isInError: boolean;\n content: string | number | null;\n errCd: string; // error code\n errMsg: string; // any descriptive error message\n}\n\nexport interface ReportTagItem {\n st: 200 | 900 | 1000 | number; // what happened to this tag?\n t: string; // tag id\n p: string; // provider id\n tNm: string;\n req: any; // request payload\n}\n\nexport interface Report {\n envName: string; // environment name inside magic pixel\n envId: string; // environment id inside magic pixel\n pname?: string; // page name\n evt: string; // dcr event if that triggered this report\n evtId: string; // event id\n dt?: number; // device type (converted to int)\n ln?: number; // language (converted to int)\n bw?: number; // browser name (converted to int)\n dm?: string; // clean domain name\n items: ReportTagItem[]; // list of tag items fired on that page for that condition\n tagCt: number; // expected tag count on this page\n dws: 'j' | 'n'; // down stream configuration. java or node\n v: string; // client sdk version for this call\n}\n\nexport interface UrlInfo {\n tfUrl: string;\n errUrl: string;\n rptUrl: string;\n infoUrl: string;\n baseUrl: string;\n attrInfoUrl: string;\n idlUrl: string;\n}\n\nexport interface VisitInfo {\n visitId: string;\n visitTs: number;\n visitCt: number;\n visitDepth: number;\n visitVer: number;\n}\n\nexport interface VisitorInfo {\n dId: string;\n mId: string;\n st: number;\n}\n\nexport interface SdkInitOptions {\n orgId: string;\n env: string;\n projectId: string;\n baseUrl: string;\n\n device_type?: string;\n\n app_version?: string;\n}\n\nexport type EventBusCallback = (event: string, payload: any) => void;\n"],"mappings":""}
|
|
1
|
+
{"version":3,"names":[],"sources":["app-types.ts"],"sourcesContent":["import type { Logger } from './logger';\n\nexport interface MapLike<T = any> {\n [key: string]: T;\n}\n\nexport interface RunQueueModel {\n sseOnly: boolean;\n name: string;\n dcrName: string;\n eventId: string;\n dcrPayload?: Record<string, any>;\n}\n\nexport type TypedAny = Record<\n string,\n | string\n | number\n | boolean\n | string[]\n | boolean[]\n | number[]\n | Record<string, string | number | boolean | string[] | boolean[] | number[]>\n>;\n\nexport type EventProcessorFn = (payload: TypedAny) => void;\n\nexport interface AppCustomerInfo {\n first_name?: string;\n last_name?: string;\n email?: string;\n phone_number: number;\n country_code: number;\n city?: string;\n state?: string;\n country?: string;\n}\n\nexport interface AppPageLoad {\n page_name: string;\n is_entry?: number;\n deep_link_url?: string;\n app_version?: string;\n}\n\nexport interface DeJsvHelper {\n log: typeof Logger.logDbg;\n err: typeof Logger.logError;\n}\n\nexport interface QcInfoItem {\n nm: string;\n id: string;\n st: boolean;\n}\n\nexport interface TagInfoItem {\n id: string;\n nm: string;\n pr: string;\n prNm: string;\n status: boolean;\n qc: string | string[];\n}\n\nexport type ReplaceMode = 'kph' | 'rph';\n\nexport interface HydrateTagInfo {\n isInError: boolean;\n content: string | number | null;\n errCd: string; // error code\n errMsg: string; // any descriptive error message\n}\n\nexport interface ReportTagItem {\n st: 200 | 900 | 1000 | number; // what happened to this tag?\n t: string; // tag id\n p: string; // provider id\n tNm: string;\n req: any; // request payload\n}\n\nexport interface Report {\n envName: string; // environment name inside magic pixel\n envId: string; // environment id inside magic pixel\n pname?: string; // page name\n evt: string; // dcr event if that triggered this report\n evtId: string; // event id\n dt?: number; // device type (converted to int)\n ln?: number; // language (converted to int)\n bw?: number; // browser name (converted to int)\n dm?: string; // clean domain name\n items: ReportTagItem[]; // list of tag items fired on that page for that condition\n tagCt: number; // expected tag count on this page\n dws: 'j' | 'n'; // down stream configuration. java or node\n v: string; // client sdk version for this call\n}\n\nexport interface UrlInfo {\n tfUrl: string;\n errUrl: string;\n rptUrl: string;\n infoUrl: string;\n baseUrl: string;\n attrInfoUrl: string;\n idlUrl: string;\n}\n\nexport interface VisitInfo {\n visitId: string;\n visitTs: number;\n visitCt: number;\n visitDepth: number;\n visitVer: number;\n}\n\nexport interface VisitorInfo {\n dId: string;\n mId: string;\n st: number;\n}\n\nexport interface SdkInitOptions {\n orgId: string;\n env: string;\n projectId: string;\n baseUrl: string;\n\n device_type?: string;\n\n app_version?: string;\n}\n\nexport type EventBusCallback = (event: string, payload: any) => void;\n"],"mappings":""}
|
|
@@ -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.
|
|
7
|
+
const CORE_VERSION = '0.8.6';
|
|
8
8
|
export class DataStore {
|
|
9
9
|
static async init(clientSdk) {
|
|
10
10
|
var _clientSdk$s;
|
|
@@ -156,8 +156,7 @@ export class DataStore {
|
|
|
156
156
|
}
|
|
157
157
|
|
|
158
158
|
static getSdkVersion() {
|
|
159
|
-
|
|
160
|
-
return 'na';
|
|
159
|
+
return this.clientSdk.s.v;
|
|
161
160
|
}
|
|
162
161
|
|
|
163
162
|
static setDebugId(dbgId) {
|
|
@@ -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.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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"}
|
|
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","v","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.6';\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 return this.clientSdk.s.v;\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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"}
|
|
@@ -3,6 +3,7 @@ import { Logger } from './logger';
|
|
|
3
3
|
import { flatten, unflatten } from 'flat';
|
|
4
4
|
import { EventBus } from './event-bus';
|
|
5
5
|
import { Dimensions } from 'react-native';
|
|
6
|
+
import { URL } from 'react-native-url-polyfill';
|
|
6
7
|
export class Utils {
|
|
7
8
|
static triggerEvent(eventName, payload) {
|
|
8
9
|
EventBus.triggerEvent(eventName, payload);
|
|
@@ -16,6 +17,24 @@ export class Utils {
|
|
|
16
17
|
return [...new Set(input)];
|
|
17
18
|
}
|
|
18
19
|
|
|
20
|
+
static parseQueryParamsToObject(url) {
|
|
21
|
+
const op = {};
|
|
22
|
+
|
|
23
|
+
try {
|
|
24
|
+
if (url && (url === null || url === void 0 ? void 0 : url.trim().length) > 0) {
|
|
25
|
+
const urlObject = new URL(url);
|
|
26
|
+
urlObject.searchParams.forEach((value, name) => {
|
|
27
|
+
op[name] = value;
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
} catch (err) {
|
|
31
|
+
// TODO: Report error
|
|
32
|
+
Logger.logError('Unable to parse query params', err);
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
return op;
|
|
36
|
+
}
|
|
37
|
+
|
|
19
38
|
static isTablet() {
|
|
20
39
|
const dim = Dimensions.get('screen');
|
|
21
40
|
return dim.scale < 2 && this.calculateMsp(dim, 1000) || dim.scale >= 2 && this.calculateMsp(dim, 1900);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Constants","Logger","flatten","unflatten","EventBus","Dimensions","Utils","triggerEvent","eventName","payload","calculateMsp","dim","limit","scale","width","height","_makeUniqueStringArray","input","Set","isTablet","get","sleep","delay","Promise","resolve","setTimeout","dtToNum","deviceType","bwToNum","browser","langToNum","language","mergeMaps","toMerge","mapObject","Object","keys","forEach","key","applyTransformationResourceParam","paramValue","tf","length","tfItem","nm","eTyp","encodeURIComponent","Buffer","from","toString","isMatch","toTest","inputs","ignoreCase","fullMatch","isMatched","i","_val","convertToRegex","test","regExpEscape","replace","RegExp","split","map","join","safeExecute","fn","err","logError","getUniqueID","LARGE_RANDOM_POOL","getSimpleDebugId","prefix","randomNumber","min","max","Math","ceil","random","unFlattenResourceParams","transformMap","op","item","pId","children","id","push","values","sort","sortAscending","unFlattenObject","obj","object","delimiter","flattenObject","maxDepth","safe"],"sources":["utils.ts"],"sourcesContent":["import { Constants } from './constants';\nimport { Logger } from './logger';\nimport type {\n BaseResourceParamType,\n SdkParamEncodingTransformer,\n TFType,\n} from '../models/mp-client-sdk';\nimport type { MapLike } from './app-types';\nimport { flatten, unflatten } from 'flat';\nimport { EventBus } from './event-bus';\nimport { Dimensions, ScaledSize } from 'react-native';\n\nexport class Utils {\n static triggerEvent(eventName: string, payload: any): void {\n EventBus.triggerEvent(eventName, payload);\n }\n\n static calculateMsp(dim: ScaledSize, limit: number): boolean {\n return dim.scale * dim.width >= limit || dim.scale * dim.height >= limit;\n }\n\n static _makeUniqueStringArray(input: string[]): string[] {\n return [...new Set(input)];\n }\n\n static isTablet(): boolean {\n const dim = Dimensions.get('screen');\n return (\n (dim.scale < 2 && this.calculateMsp(dim, 1000)) ||\n (dim.scale >= 2 && this.calculateMsp(dim, 1900))\n );\n }\n\n static sleep(delay = 1000): Promise<void> {\n return new Promise((resolve: (val?: any) => void) => {\n setTimeout(() => {\n return resolve();\n }, delay);\n });\n }\n\n /**\n * deviceTypesMappings = {'1':'Desktop Web','2':'Mobile Web','3':'Tablet','4':'Other'};\n * @param deviceType\n */\n static dtToNum(deviceType: string): number {\n switch (deviceType) {\n case 'desktop':\n return 1;\n case 'mobile':\n return 2;\n case 'tablet':\n return 3;\n default:\n return 4;\n }\n }\n\n /**\n * static browserToOsMappings = {'101': 'ios','102': 'android', '7': 'Other'};\n * @param browser\n */\n static bwToNum(browser: string): number {\n switch (browser) {\n case 'ios':\n return 101;\n case 'android':\n return 102;\n default:\n return 7;\n }\n }\n\n static langToNum(language: string): number {\n if (language === 'en') {\n return 1;\n } else if (language === 'es') {\n return 2;\n } else {\n return 3;\n }\n }\n\n static mergeMaps<T>(\n input: MapLike<T>,\n ...toMerge: Array<MapLike<T>>\n ): MapLike<T> {\n if (!input) {\n input = {} as MapLike<T>;\n }\n for (const mapObject of toMerge) {\n if (mapObject) {\n Object.keys(mapObject).forEach((key: string) => {\n input[key] = mapObject[key];\n });\n }\n }\n return input;\n }\n\n static applyTransformationResourceParam(\n paramValue: string,\n tf: TFType | undefined\n ): any {\n if (!tf || tf.length === 0) {\n return paramValue;\n }\n\n if (typeof paramValue === 'undefined') {\n return paramValue;\n }\n\n // transformers here are expected to be ordered when we get it from the server after build\n for (let tfItem of tf) {\n if (tfItem.nm === 'enc') {\n // only url encode is implemented now\n tfItem = tfItem as SdkParamEncodingTransformer;\n if (tfItem.eTyp === 'URL_ENC') {\n paramValue = encodeURIComponent(paramValue);\n } else if (tfItem.eTyp === 'BASE64') {\n paramValue = Buffer.from(paramValue).toString('base64');\n }\n }\n }\n\n return paramValue;\n }\n\n /**\n * Verifies if the given 'toTest' string exists in any of the input array of strings.\n * By default, this method does a case sensitive match unless specified by the ignoreCase param.\n * @param toTest\n * @param inputs\n * @param ignoreCase - pass a value of 'true' to perform case-insensitive matching.\n * @param fullMatch\n */\n static isMatch(\n toTest: string,\n inputs: string[],\n ignoreCase: boolean,\n fullMatch: boolean\n ): boolean {\n if (!toTest) {\n return false;\n }\n let isMatched = false;\n for (let i = 0; i < inputs.length; i += 1) {\n const _val = inputs[i];\n if (_val) {\n if (this.convertToRegex(_val, ignoreCase, fullMatch).test(toTest)) {\n isMatched = true;\n break;\n }\n }\n }\n return isMatched;\n }\n\n static regExpEscape(input: string): string {\n return input.replace(/[|\\\\{}()[\\]^$+*?.]/g, '\\\\$&');\n }\n\n static convertToRegex(\n input: string,\n ignoreCase: boolean,\n fullMatch: boolean\n ): RegExp {\n if (fullMatch) {\n return new RegExp(\n '^' + input.split(/\\*+/).map(this.regExpEscape).join('.*') + '$',\n ignoreCase ? 'i' : ''\n );\n } else {\n return new RegExp(\n input.split(/\\*+/).map(this.regExpEscape).join('.*'),\n ignoreCase ? 'i' : ''\n );\n }\n }\n\n static safeExecute(fn: (payload: any) => any, payload: any): any {\n try {\n return fn(payload);\n } catch (err) {\n Logger.logError('Error executing function: ', err);\n }\n }\n\n static getUniqueID(): string {\n return Constants.LARGE_RANDOM_POOL();\n }\n\n static getSimpleDebugId(prefix?: string): string {\n return `${prefix ?? ''}${this.randomNumber(100000000, 99999999999)}`;\n }\n\n static randomNumber(min: number, max: number): number {\n return Math.ceil(Math.random() * (max - min) + min);\n }\n\n static unFlattenResourceParams<T extends BaseResourceParamType>(\n input: T[]\n ): MapLike<T> {\n if (!input || input.length === 0) {\n return {};\n }\n\n const transformMap: MapLike<T> = {};\n const op: MapLike<T> = {};\n // convert input into a map for quick search O(1)\n for (const item of input) {\n if (item.pId) {\n if (!transformMap[item.pId]) {\n item.children = [];\n transformMap[item.id] = item;\n } else {\n transformMap[item.pId].children.push(item);\n }\n } else {\n item.children = [];\n transformMap[item.id] = item;\n }\n }\n\n // sort children according to child_order inside children if they have any children\n for (const item of Object.values(transformMap)) {\n if (item.children && item.children.length > 0) {\n item.children = item.children.sort(Constants.sortAscending);\n op[item.nm] = item;\n } else {\n op[item.nm] = item;\n }\n }\n\n return op;\n }\n\n static unFlattenObject(obj: any): Record<string, any> {\n if (!obj) {\n return {};\n }\n return unflatten(obj, { object: false, delimiter: '.' });\n }\n\n static flattenObject(obj: any): Record<string, any> {\n if (!obj) {\n return {};\n }\n return flatten(obj, { maxDepth: 5, safe: true });\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["Constants","Logger","flatten","unflatten","EventBus","Dimensions","URL","Utils","triggerEvent","eventName","payload","calculateMsp","dim","limit","scale","width","height","_makeUniqueStringArray","input","Set","parseQueryParamsToObject","url","op","trim","length","urlObject","searchParams","forEach","value","name","err","logError","isTablet","get","sleep","delay","Promise","resolve","setTimeout","dtToNum","deviceType","bwToNum","browser","langToNum","language","mergeMaps","toMerge","mapObject","Object","keys","key","applyTransformationResourceParam","paramValue","tf","tfItem","nm","eTyp","encodeURIComponent","Buffer","from","toString","isMatch","toTest","inputs","ignoreCase","fullMatch","isMatched","i","_val","convertToRegex","test","regExpEscape","replace","RegExp","split","map","join","safeExecute","fn","getUniqueID","LARGE_RANDOM_POOL","getSimpleDebugId","prefix","randomNumber","min","max","Math","ceil","random","unFlattenResourceParams","transformMap","item","pId","children","id","push","values","sort","sortAscending","unFlattenObject","obj","object","delimiter","flattenObject","maxDepth","safe"],"sources":["utils.ts"],"sourcesContent":["import { Constants } from './constants';\nimport { Logger } from './logger';\nimport type {\n BaseResourceParamType,\n SdkParamEncodingTransformer,\n TFType,\n} from '../models/mp-client-sdk';\nimport type { MapLike } from './app-types';\nimport { flatten, unflatten } from 'flat';\nimport { EventBus } from './event-bus';\nimport { Dimensions, ScaledSize } from 'react-native';\nimport { URL } from 'react-native-url-polyfill';\n\nexport class Utils {\n static triggerEvent(eventName: string, payload: any): void {\n EventBus.triggerEvent(eventName, payload);\n }\n\n static calculateMsp(dim: ScaledSize, limit: number): boolean {\n return dim.scale * dim.width >= limit || dim.scale * dim.height >= limit;\n }\n\n static _makeUniqueStringArray(input: string[]): string[] {\n return [...new Set(input)];\n }\n\n static parseQueryParamsToObject(url?: string): Record<string, any> {\n const op: Record<string, any> = {};\n try {\n if (url && url?.trim().length > 0) {\n const urlObject = new URL(url);\n urlObject.searchParams.forEach((value, name) => {\n op[name] = value;\n });\n }\n } catch (err) {\n // TODO: Report error\n Logger.logError('Unable to parse query params', err);\n }\n return op;\n }\n\n static isTablet(): boolean {\n const dim = Dimensions.get('screen');\n return (\n (dim.scale < 2 && this.calculateMsp(dim, 1000)) ||\n (dim.scale >= 2 && this.calculateMsp(dim, 1900))\n );\n }\n\n static sleep(delay = 1000): Promise<void> {\n return new Promise((resolve: (val?: any) => void) => {\n setTimeout(() => {\n return resolve();\n }, delay);\n });\n }\n\n /**\n * deviceTypesMappings = {'1':'Desktop Web','2':'Mobile Web','3':'Tablet','4':'Other'};\n * @param deviceType\n */\n static dtToNum(deviceType: string): number {\n switch (deviceType) {\n case 'desktop':\n return 1;\n case 'mobile':\n return 2;\n case 'tablet':\n return 3;\n default:\n return 4;\n }\n }\n\n /**\n * static browserToOsMappings = {'101': 'ios','102': 'android', '7': 'Other'};\n * @param browser\n */\n static bwToNum(browser: string): number {\n switch (browser) {\n case 'ios':\n return 101;\n case 'android':\n return 102;\n default:\n return 7;\n }\n }\n\n static langToNum(language: string): number {\n if (language === 'en') {\n return 1;\n } else if (language === 'es') {\n return 2;\n } else {\n return 3;\n }\n }\n\n static mergeMaps<T>(\n input: MapLike<T>,\n ...toMerge: Array<MapLike<T>>\n ): MapLike<T> {\n if (!input) {\n input = {} as MapLike<T>;\n }\n for (const mapObject of toMerge) {\n if (mapObject) {\n Object.keys(mapObject).forEach((key: string) => {\n input[key] = mapObject[key];\n });\n }\n }\n return input;\n }\n\n static applyTransformationResourceParam(\n paramValue: string,\n tf: TFType | undefined\n ): any {\n if (!tf || tf.length === 0) {\n return paramValue;\n }\n\n if (typeof paramValue === 'undefined') {\n return paramValue;\n }\n\n // transformers here are expected to be ordered when we get it from the server after build\n for (let tfItem of tf) {\n if (tfItem.nm === 'enc') {\n // only url encode is implemented now\n tfItem = tfItem as SdkParamEncodingTransformer;\n if (tfItem.eTyp === 'URL_ENC') {\n paramValue = encodeURIComponent(paramValue);\n } else if (tfItem.eTyp === 'BASE64') {\n paramValue = Buffer.from(paramValue).toString('base64');\n }\n }\n }\n\n return paramValue;\n }\n\n /**\n * Verifies if the given 'toTest' string exists in any of the input array of strings.\n * By default, this method does a case sensitive match unless specified by the ignoreCase param.\n * @param toTest\n * @param inputs\n * @param ignoreCase - pass a value of 'true' to perform case-insensitive matching.\n * @param fullMatch\n */\n static isMatch(\n toTest: string,\n inputs: string[],\n ignoreCase: boolean,\n fullMatch: boolean\n ): boolean {\n if (!toTest) {\n return false;\n }\n let isMatched = false;\n for (let i = 0; i < inputs.length; i += 1) {\n const _val = inputs[i];\n if (_val) {\n if (this.convertToRegex(_val, ignoreCase, fullMatch).test(toTest)) {\n isMatched = true;\n break;\n }\n }\n }\n return isMatched;\n }\n\n static regExpEscape(input: string): string {\n return input.replace(/[|\\\\{}()[\\]^$+*?.]/g, '\\\\$&');\n }\n\n static convertToRegex(\n input: string,\n ignoreCase: boolean,\n fullMatch: boolean\n ): RegExp {\n if (fullMatch) {\n return new RegExp(\n '^' + input.split(/\\*+/).map(this.regExpEscape).join('.*') + '$',\n ignoreCase ? 'i' : ''\n );\n } else {\n return new RegExp(\n input.split(/\\*+/).map(this.regExpEscape).join('.*'),\n ignoreCase ? 'i' : ''\n );\n }\n }\n\n static safeExecute(fn: (payload: any) => any, payload: any): any {\n try {\n return fn(payload);\n } catch (err) {\n Logger.logError('Error executing function: ', err);\n }\n }\n\n static getUniqueID(): string {\n return Constants.LARGE_RANDOM_POOL();\n }\n\n static getSimpleDebugId(prefix?: string): string {\n return `${prefix ?? ''}${this.randomNumber(100000000, 99999999999)}`;\n }\n\n static randomNumber(min: number, max: number): number {\n return Math.ceil(Math.random() * (max - min) + min);\n }\n\n static unFlattenResourceParams<T extends BaseResourceParamType>(\n input: T[]\n ): MapLike<T> {\n if (!input || input.length === 0) {\n return {};\n }\n\n const transformMap: MapLike<T> = {};\n const op: MapLike<T> = {};\n // convert input into a map for quick search O(1)\n for (const item of input) {\n if (item.pId) {\n if (!transformMap[item.pId]) {\n item.children = [];\n transformMap[item.id] = item;\n } else {\n transformMap[item.pId].children.push(item);\n }\n } else {\n item.children = [];\n transformMap[item.id] = item;\n }\n }\n\n // sort children according to child_order inside children if they have any children\n for (const item of Object.values(transformMap)) {\n if (item.children && item.children.length > 0) {\n item.children = item.children.sort(Constants.sortAscending);\n op[item.nm] = item;\n } else {\n op[item.nm] = item;\n }\n }\n\n return op;\n }\n\n static unFlattenObject(obj: any): Record<string, any> {\n if (!obj) {\n return {};\n }\n return unflatten(obj, { object: false, delimiter: '.' });\n }\n\n static flattenObject(obj: any): Record<string, any> {\n if (!obj) {\n return {};\n }\n return flatten(obj, { maxDepth: 5, safe: true });\n }\n}\n"],"mappings":"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"}
|
package/lib/module/index.js
CHANGED
|
@@ -213,12 +213,14 @@ class MagicPixelImpl {
|
|
|
213
213
|
if (this.customerInfo) {
|
|
214
214
|
const newPayload = { ...pageLoadInfo,
|
|
215
215
|
...this.customerInfo,
|
|
216
|
-
...(this.customerIdentifiers ?? {})
|
|
216
|
+
...(this.customerIdentifiers ?? {}),
|
|
217
|
+
...Utils.parseQueryParamsToObject(pageLoadInfo === null || pageLoadInfo === void 0 ? void 0 : pageLoadInfo.deep_link_url)
|
|
217
218
|
};
|
|
218
219
|
this.dl.pushEvent('page_load', newPayload);
|
|
219
220
|
} else {
|
|
220
221
|
const newPayload = { ...pageLoadInfo,
|
|
221
|
-
...(this.customerIdentifiers ?? {})
|
|
222
|
+
...(this.customerIdentifiers ?? {}),
|
|
223
|
+
...Utils.parseQueryParamsToObject(pageLoadInfo === null || pageLoadInfo === void 0 ? void 0 : pageLoadInfo.deep_link_url)
|
|
222
224
|
};
|
|
223
225
|
this.dl.pushEvent('page_load', newPayload);
|
|
224
226
|
}
|
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["MpDataLayerHelper","DataStore","Logger","Reporter","DataElementProcessor","TagProcessor","Utils","QcProcessor","NetworkService","EventBus","VisitIdProcessor","DL_INIT_EVENT","MagicPixelImpl","init","options","refreshClientSdkJson","isDataStoreReady","Error","device_type","trim","length","overrideDeviceType","setAppVersion","app_version","orgId","fbp","getFacebookFBP","logDbg","setFacebookClientId","MagicPixelEventBus","on","evtName","payload","JSON","stringify","eventName","eventDataModel","model","eventId","shouldExecuteTMForEvent","enQueueTMFire","checkAndFireTM","isFirstOpen","isFirstOpenAfterInstall","recordEvent","ready","customerInfo","newPayload","customerIdentifiers","dl","pushEvent","getDebugId","isTagManagerProcessing","item","deQueueTMFire","name","dcrName","dcrPayload","runTM","sseOnly","err","logError","reportError","triggerName","evtId","eventData","setTagManagerProcessing","processDataElements","getSdkDataElements","sdk","getClientSdk","pcKey","getSdkPcKey","pcVal","getDataElementValue","setPrivacyCompliance","getSdkPageLangKey","setDataElement","setPageLang","getOperatingSystem","toLowerCase","initReporter","s","ev","ev_id","getDeviceType","getPageLang","getDeviceOs","getPageName","getClientDownStream","getCoreVersion","validQCList","processQc","getSdkQC","getValidQcInfo","processTags","then","_fireTM","catch","runTMErr","envName","envId","incrementVisitDepth","finally","_fireTMPrivate","hasOneSSTTag","shouldFireSstForEvent","postSST","getDataElements","getSSTDownStream","sleep","setCustomerInfo","setFirebaseAppInstanceId","instanceId","firebase_instance_id","appVersion","recordPageLoad","pageLoadInfo","is_entry","firstAppLaunch","MagicPixel"],"sources":["index.tsx"],"sourcesContent":["import { MpDataLayerHelper } from './eedl/eedl';\nimport type {\n AppCustomerInfo,\n AppPageLoad,\n MapLike,\n SdkInitOptions,\n} from './common/app-types';\nimport { DataStore } from './common/data-store';\nimport { Logger } from './common/logger';\nimport { Reporter } from './common/reporter';\nimport { DataElementProcessor } from './processors/data-element.processor';\nimport { TagProcessor } from './processors/tag.processor';\nimport { Utils } from './common/utils';\nimport { QcProcessor } from './processors/qc.processor';\nimport { NetworkService } from './common/network-service';\nimport { EventBus } from './common/event-bus';\nimport { VisitIdProcessor } from './processors/visit-id.processor';\n\nconst DL_INIT_EVENT = 'page_load';\n\nclass MagicPixelImpl {\n private static dl: MpDataLayerHelper = new MpDataLayerHelper(\n 'mpDlEvent',\n 'manual',\n DL_INIT_EVENT\n );\n private static customerInfo: AppCustomerInfo;\n private static customerIdentifiers: MapLike = {};\n private static firstAppLaunch = true;\n\n static async init(options: SdkInitOptions): Promise<void> {\n await NetworkService.refreshClientSdkJson(options);\n\n if (!DataStore.isDataStoreReady()) {\n throw new Error('MagicPixel SDK is not ready. No tags will be processed');\n }\n\n if (\n options &&\n options.device_type &&\n options.device_type?.trim().length > 0\n ) {\n DataStore.overrideDeviceType(options.device_type);\n }\n\n this.setAppVersion(options.app_version);\n\n await VisitIdProcessor.init(options?.orgId);\n\n const fbp = await VisitIdProcessor.getFacebookFBP();\n if (fbp) {\n Logger.logDbg('Setting facebook client id', fbp);\n this.setFacebookClientId(fbp);\n } else {\n Logger.logDbg('No facebook client id found. not setting');\n }\n\n MagicPixelEventBus.on('mpDlEvent', async (evtName, payload) => {\n Logger.logDbg('mpDlEvent:: ', evtName, JSON.stringify(payload));\n const eventName: string = payload.eventName;\n const eventDataModel: MapLike = payload.model ?? {};\n const eventId = eventDataModel['ev._id'];\n\n Logger.logDbg('Tracking Event:: ', eventName, 'with id:: ', eventId);\n\n if (DataStore.shouldExecuteTMForEvent(eventName)) {\n // if this is something the tag manager is interested in - fire tag manager\n DataStore.enQueueTMFire(\n false,\n `custom_event_${eventName}`,\n eventName,\n eventId,\n eventDataModel\n );\n await this.checkAndFireTM();\n }\n });\n\n const isFirstOpen = await VisitIdProcessor.isFirstOpenAfterInstall();\n if (isFirstOpen) {\n Logger.logDbg('First open event fired');\n this.recordEvent('app_first_open', {});\n }\n\n this.ready();\n }\n\n static recordEvent(eventName: string, payload: MapLike): void {\n if (this.customerInfo) {\n const newPayload: MapLike = {\n ...payload,\n ...this.customerInfo,\n ...(this.customerIdentifiers ?? {}),\n };\n this.dl.pushEvent(eventName, newPayload);\n } else {\n const newPayload: MapLike = {\n ...payload,\n ...(this.customerIdentifiers ?? {}),\n };\n this.dl.pushEvent(eventName, newPayload);\n }\n }\n\n static ready(): void {\n this.dl.ready();\n }\n\n static getDebugId(): string {\n return DataStore.getDebugId();\n }\n\n private static async checkAndFireTM(): Promise<void> {\n try {\n if (!DataStore.isTagManagerProcessing()) {\n const item = DataStore.deQueueTMFire();\n if (item) {\n Logger.logDbg(\n 'Executing TM For: ',\n item.name,\n ', Event:: ',\n item.dcrName,\n ', Event id:: ',\n item.eventId,\n 'Payload:: ',\n item.dcrPayload\n );\n await this.runTM(\n item.sseOnly,\n item.name,\n item.dcrName,\n item.eventId,\n item.dcrPayload\n );\n }\n } else {\n Logger.logDbg(\n 'Tag Manager is processing or is not ready. This event will start after that'\n );\n }\n } catch (err) {\n Logger.logError('Error check and process tm', err);\n Reporter.reportError('m:checkAndFireTM', err);\n }\n }\n\n private static async runTM(\n sseOnly: boolean,\n triggerName: string,\n evtName: string,\n evtId: string,\n eventData?: Record<string, any>\n ): Promise<void> {\n try {\n Logger.logDbg(\n 'Running:: ',\n sseOnly,\n triggerName,\n evtName,\n evtId,\n eventData\n );\n\n // set tag manager in process status\n DataStore.setTagManagerProcessing(true);\n\n // process all the data elements and cache them for this run\n await DataElementProcessor.processDataElements(\n DataStore.getSdkDataElements(),\n eventData\n );\n\n const sdk = DataStore.getClientSdk();\n\n const pcKey = DataStore.getSdkPcKey();\n if (pcKey) {\n const pcVal = DataStore.getDataElementValue(pcKey);\n if (typeof pcVal !== 'undefined' && pcVal === true) {\n Logger.logDbg('Set: PR Comp: ', true);\n DataStore.setPrivacyCompliance(true);\n } else {\n Logger.logDbg('Set: PR Comp: ', false);\n DataStore.setPrivacyCompliance(false);\n }\n } else {\n Logger.logDbg('Set: PR Comp: ', false);\n DataStore.setPrivacyCompliance(true);\n }\n\n if (DataStore.getSdkPageLangKey()) {\n DataStore.setDataElement(\n 'page_lang_key',\n DataStore.getSdkPageLangKey()\n );\n DataStore.setPageLang(\n DataStore.getDataElementValue('page_lang_key') as string\n );\n } else {\n DataStore.setDataElement('page_lang_key', null);\n }\n\n //set page_browser default data element with page_os because backend expects this\n DataStore.setDataElement(\n 'page_browser',\n DataStore.getOperatingSystem().toLowerCase()\n );\n\n Reporter.initReporter(\n sdk.s.ev,\n sdk.s.ev_id,\n DataStore.getDeviceType(),\n DataStore.getPageLang(),\n DataStore.getDeviceOs(),\n DataStore.getPageName(),\n evtName,\n evtId,\n DataStore.getClientDownStream(),\n DataStore.getCoreVersion(),\n []\n );\n\n const validQCList = QcProcessor.processQc(\n DataStore.getSdkQC(),\n evtName,\n evtId\n );\n\n if (validQCList?.length > 0) {\n Logger.logDbg('Found Valid QCs to process', DataStore.getValidQcInfo());\n\n TagProcessor.processTags(evtName, evtId)\n .then(() => {\n this._fireTM(sdk.s.ev, sdk.s.ev_id, evtName, evtId);\n })\n .catch((err) => {\n Logger.logError('Error processing tag lists.', err);\n Reporter.reportError('i::processTags', err);\n this._fireTM(sdk.s.ev, sdk.s.ev_id, evtName, evtId);\n });\n } else {\n this._fireTM(sdk.s.ev, sdk.s.ev_id, evtName, evtId);\n }\n } catch (runTMErr) {\n Logger.logError('Error in runTM', runTMErr);\n Reporter.reportError('m::runTM', runTMErr);\n }\n }\n\n private static _fireTM(\n envName: string,\n envId: string,\n evtName: string,\n evtId: string\n ): void {\n // increment visit_depth if event name is page_load because that's the only way we can track page views in an app for now\n if (evtName === DL_INIT_EVENT) {\n VisitIdProcessor.incrementVisitDepth().finally(() => {\n this._fireTMPrivate(envName, envId, evtName, evtId);\n });\n } else {\n this._fireTMPrivate(envName, envId, evtName, evtId);\n }\n }\n\n private static _fireTMPrivate(\n envName: string,\n envId: string,\n evtName: string,\n evtId: string\n ): void {\n if (DataStore.hasOneSSTTag() && DataStore.shouldFireSstForEvent(evtName)) {\n Reporter.postSST(\n DataStore.getDataElements(),\n envName,\n envId,\n DataStore.getSSTDownStream(),\n evtName,\n evtId\n ).catch((err: any) => {\n Reporter.reportError('l::postSST', err);\n });\n }\n\n DataStore.setTagManagerProcessing(false);\n Utils.sleep(250).then(async () => {\n try {\n await this.checkAndFireTM();\n } catch (err) {\n Reporter.reportError('i::runTM', err);\n }\n });\n }\n\n static setCustomerInfo(customerInfo: AppCustomerInfo): void {\n this.customerInfo = customerInfo;\n this.recordEvent('idl_attribution_link', customerInfo);\n }\n\n static setFirebaseAppInstanceId(instanceId: string): void {\n this.customerIdentifiers.firebase_instance_id = instanceId;\n }\n\n static setFacebookClientId(fbp: string): void {\n this.customerIdentifiers.fbp = fbp;\n }\n\n private static setAppVersion(appVersion?: string): void {\n if (appVersion && appVersion?.trim()?.length > 0) {\n this.customerIdentifiers.app_version = appVersion;\n }\n }\n\n static recordPageLoad(pageLoadInfo: AppPageLoad): void {\n pageLoadInfo.is_entry = this.firstAppLaunch ? 1 : 0;\n if (this.customerInfo) {\n const newPayload: MapLike = {\n ...pageLoadInfo,\n ...this.customerInfo,\n ...(this.customerIdentifiers ?? {}),\n };\n this.dl.pushEvent('page_load', newPayload);\n } else {\n const newPayload: MapLike = {\n ...pageLoadInfo,\n ...(this.customerIdentifiers ?? {}),\n };\n this.dl.pushEvent('page_load', newPayload);\n }\n this.firstAppLaunch = false;\n }\n}\n\nexport const MagicPixelEventBus = EventBus;\nexport const MagicPixel = MagicPixelImpl;\n"],"mappings":";;AAAA,SAASA,iBAAT,QAAkC,aAAlC;AAOA,SAASC,SAAT,QAA0B,qBAA1B;AACA,SAASC,MAAT,QAAuB,iBAAvB;AACA,SAASC,QAAT,QAAyB,mBAAzB;AACA,SAASC,oBAAT,QAAqC,qCAArC;AACA,SAASC,YAAT,QAA6B,4BAA7B;AACA,SAASC,KAAT,QAAsB,gBAAtB;AACA,SAASC,WAAT,QAA4B,2BAA5B;AACA,SAASC,cAAT,QAA+B,0BAA/B;AACA,SAASC,QAAT,QAAyB,oBAAzB;AACA,SAASC,gBAAT,QAAiC,iCAAjC;AAEA,MAAMC,aAAa,GAAG,WAAtB;;AAEA,MAAMC,cAAN,CAAqB;EAUF,aAAJC,IAAI,CAACC,OAAD,EAAyC;IAAA;;IACxD,MAAMN,cAAc,CAACO,oBAAf,CAAoCD,OAApC,CAAN;;IAEA,IAAI,CAACb,SAAS,CAACe,gBAAV,EAAL,EAAmC;MACjC,MAAM,IAAIC,KAAJ,CAAU,wDAAV,CAAN;IACD;;IAED,IACEH,OAAO,IACPA,OAAO,CAACI,WADR,IAEA,yBAAAJ,OAAO,CAACI,WAAR,8EAAqBC,IAArB,GAA4BC,MAA5B,IAAqC,CAHvC,EAIE;MACAnB,SAAS,CAACoB,kBAAV,CAA6BP,OAAO,CAACI,WAArC;IACD;;IAED,KAAKI,aAAL,CAAmBR,OAAO,CAACS,WAA3B;IAEA,MAAMb,gBAAgB,CAACG,IAAjB,CAAsBC,OAAtB,aAAsBA,OAAtB,uBAAsBA,OAAO,CAAEU,KAA/B,CAAN;IAEA,MAAMC,GAAG,GAAG,MAAMf,gBAAgB,CAACgB,cAAjB,EAAlB;;IACA,IAAID,GAAJ,EAAS;MACPvB,MAAM,CAACyB,MAAP,CAAc,4BAAd,EAA4CF,GAA5C;MACA,KAAKG,mBAAL,CAAyBH,GAAzB;IACD,CAHD,MAGO;MACLvB,MAAM,CAACyB,MAAP,CAAc,0CAAd;IACD;;IAEDE,kBAAkB,CAACC,EAAnB,CAAsB,WAAtB,EAAmC,OAAOC,OAAP,EAAgBC,OAAhB,KAA4B;MAC7D9B,MAAM,CAACyB,MAAP,CAAc,cAAd,EAA8BI,OAA9B,EAAuCE,IAAI,CAACC,SAAL,CAAeF,OAAf,CAAvC;MACA,MAAMG,SAAiB,GAAGH,OAAO,CAACG,SAAlC;MACA,MAAMC,cAAuB,GAAGJ,OAAO,CAACK,KAAR,IAAiB,EAAjD;MACA,MAAMC,OAAO,GAAGF,cAAc,CAAC,QAAD,CAA9B;MAEAlC,MAAM,CAACyB,MAAP,CAAc,mBAAd,EAAmCQ,SAAnC,EAA8C,YAA9C,EAA4DG,OAA5D;;MAEA,IAAIrC,SAAS,CAACsC,uBAAV,CAAkCJ,SAAlC,CAAJ,EAAkD;QAChD;QACAlC,SAAS,CAACuC,aAAV,CACE,KADF,EAEG,gBAAeL,SAAU,EAF5B,EAGEA,SAHF,EAIEG,OAJF,EAKEF,cALF;QAOA,MAAM,KAAKK,cAAL,EAAN;MACD;IACF,CAnBD;IAqBA,MAAMC,WAAW,GAAG,MAAMhC,gBAAgB,CAACiC,uBAAjB,EAA1B;;IACA,IAAID,WAAJ,EAAiB;MACfxC,MAAM,CAACyB,MAAP,CAAc,wBAAd;MACA,KAAKiB,WAAL,CAAiB,gBAAjB,EAAmC,EAAnC;IACD;;IAED,KAAKC,KAAL;EACD;;EAEiB,OAAXD,WAAW,CAACT,SAAD,EAAoBH,OAApB,EAA4C;IAC5D,IAAI,KAAKc,YAAT,EAAuB;MACrB,MAAMC,UAAmB,GAAG,EAC1B,GAAGf,OADuB;QAE1B,GAAG,KAAKc,YAFkB;QAG1B,IAAI,KAAKE,mBAAL,IAA4B,EAAhC;MAH0B,CAA5B;MAKA,KAAKC,EAAL,CAAQC,SAAR,CAAkBf,SAAlB,EAA6BY,UAA7B;IACD,CAPD,MAOO;MACL,MAAMA,UAAmB,GAAG,EAC1B,GAAGf,OADuB;QAE1B,IAAI,KAAKgB,mBAAL,IAA4B,EAAhC;MAF0B,CAA5B;MAIA,KAAKC,EAAL,CAAQC,SAAR,CAAkBf,SAAlB,EAA6BY,UAA7B;IACD;EACF;;EAEW,OAALF,KAAK,GAAS;IACnB,KAAKI,EAAL,CAAQJ,KAAR;EACD;;EAEgB,OAAVM,UAAU,GAAW;IAC1B,OAAOlD,SAAS,CAACkD,UAAV,EAAP;EACD;;EAEkC,aAAdV,cAAc,GAAkB;IACnD,IAAI;MACF,IAAI,CAACxC,SAAS,CAACmD,sBAAV,EAAL,EAAyC;QACvC,MAAMC,IAAI,GAAGpD,SAAS,CAACqD,aAAV,EAAb;;QACA,IAAID,IAAJ,EAAU;UACRnD,MAAM,CAACyB,MAAP,CACE,oBADF,EAEE0B,IAAI,CAACE,IAFP,EAGE,YAHF,EAIEF,IAAI,CAACG,OAJP,EAKE,eALF,EAMEH,IAAI,CAACf,OANP,EAOE,YAPF,EAQEe,IAAI,CAACI,UARP;UAUA,MAAM,KAAKC,KAAL,CACJL,IAAI,CAACM,OADD,EAEJN,IAAI,CAACE,IAFD,EAGJF,IAAI,CAACG,OAHD,EAIJH,IAAI,CAACf,OAJD,EAKJe,IAAI,CAACI,UALD,CAAN;QAOD;MACF,CArBD,MAqBO;QACLvD,MAAM,CAACyB,MAAP,CACE,6EADF;MAGD;IACF,CA3BD,CA2BE,OAAOiC,GAAP,EAAY;MACZ1D,MAAM,CAAC2D,QAAP,CAAgB,4BAAhB,EAA8CD,GAA9C;MACAzD,QAAQ,CAAC2D,WAAT,CAAqB,kBAArB,EAAyCF,GAAzC;IACD;EACF;;EAEyB,aAALF,KAAK,CACxBC,OADwB,EAExBI,WAFwB,EAGxBhC,OAHwB,EAIxBiC,KAJwB,EAKxBC,SALwB,EAMT;IACf,IAAI;MACF/D,MAAM,CAACyB,MAAP,CACE,YADF,EAEEgC,OAFF,EAGEI,WAHF,EAIEhC,OAJF,EAKEiC,KALF,EAMEC,SANF,EADE,CAUF;;MACAhE,SAAS,CAACiE,uBAAV,CAAkC,IAAlC,EAXE,CAaF;;MACA,MAAM9D,oBAAoB,CAAC+D,mBAArB,CACJlE,SAAS,CAACmE,kBAAV,EADI,EAEJH,SAFI,CAAN;MAKA,MAAMI,GAAG,GAAGpE,SAAS,CAACqE,YAAV,EAAZ;MAEA,MAAMC,KAAK,GAAGtE,SAAS,CAACuE,WAAV,EAAd;;MACA,IAAID,KAAJ,EAAW;QACT,MAAME,KAAK,GAAGxE,SAAS,CAACyE,mBAAV,CAA8BH,KAA9B,CAAd;;QACA,IAAI,OAAOE,KAAP,KAAiB,WAAjB,IAAgCA,KAAK,KAAK,IAA9C,EAAoD;UAClDvE,MAAM,CAACyB,MAAP,CAAc,gBAAd,EAAgC,IAAhC;UACA1B,SAAS,CAAC0E,oBAAV,CAA+B,IAA/B;QACD,CAHD,MAGO;UACLzE,MAAM,CAACyB,MAAP,CAAc,gBAAd,EAAgC,KAAhC;UACA1B,SAAS,CAAC0E,oBAAV,CAA+B,KAA/B;QACD;MACF,CATD,MASO;QACLzE,MAAM,CAACyB,MAAP,CAAc,gBAAd,EAAgC,KAAhC;QACA1B,SAAS,CAAC0E,oBAAV,CAA+B,IAA/B;MACD;;MAED,IAAI1E,SAAS,CAAC2E,iBAAV,EAAJ,EAAmC;QACjC3E,SAAS,CAAC4E,cAAV,CACE,eADF,EAEE5E,SAAS,CAAC2E,iBAAV,EAFF;QAIA3E,SAAS,CAAC6E,WAAV,CACE7E,SAAS,CAACyE,mBAAV,CAA8B,eAA9B,CADF;MAGD,CARD,MAQO;QACLzE,SAAS,CAAC4E,cAAV,CAAyB,eAAzB,EAA0C,IAA1C;MACD,CA9CC,CAgDF;;;MACA5E,SAAS,CAAC4E,cAAV,CACE,cADF,EAEE5E,SAAS,CAAC8E,kBAAV,GAA+BC,WAA/B,EAFF;MAKA7E,QAAQ,CAAC8E,YAAT,CACEZ,GAAG,CAACa,CAAJ,CAAMC,EADR,EAEEd,GAAG,CAACa,CAAJ,CAAME,KAFR,EAGEnF,SAAS,CAACoF,aAAV,EAHF,EAIEpF,SAAS,CAACqF,WAAV,EAJF,EAKErF,SAAS,CAACsF,WAAV,EALF,EAMEtF,SAAS,CAACuF,WAAV,EANF,EAOEzD,OAPF,EAQEiC,KARF,EASE/D,SAAS,CAACwF,mBAAV,EATF,EAUExF,SAAS,CAACyF,cAAV,EAVF,EAWE,EAXF;MAcA,MAAMC,WAAW,GAAGpF,WAAW,CAACqF,SAAZ,CAClB3F,SAAS,CAAC4F,QAAV,EADkB,EAElB9D,OAFkB,EAGlBiC,KAHkB,CAApB;;MAMA,IAAI,CAAA2B,WAAW,SAAX,IAAAA,WAAW,WAAX,YAAAA,WAAW,CAAEvE,MAAb,IAAsB,CAA1B,EAA6B;QAC3BlB,MAAM,CAACyB,MAAP,CAAc,4BAAd,EAA4C1B,SAAS,CAAC6F,cAAV,EAA5C;QAEAzF,YAAY,CAAC0F,WAAb,CAAyBhE,OAAzB,EAAkCiC,KAAlC,EACGgC,IADH,CACQ,MAAM;UACV,KAAKC,OAAL,CAAa5B,GAAG,CAACa,CAAJ,CAAMC,EAAnB,EAAuBd,GAAG,CAACa,CAAJ,CAAME,KAA7B,EAAoCrD,OAApC,EAA6CiC,KAA7C;QACD,CAHH,EAIGkC,KAJH,CAIUtC,GAAD,IAAS;UACd1D,MAAM,CAAC2D,QAAP,CAAgB,6BAAhB,EAA+CD,GAA/C;UACAzD,QAAQ,CAAC2D,WAAT,CAAqB,gBAArB,EAAuCF,GAAvC;;UACA,KAAKqC,OAAL,CAAa5B,GAAG,CAACa,CAAJ,CAAMC,EAAnB,EAAuBd,GAAG,CAACa,CAAJ,CAAME,KAA7B,EAAoCrD,OAApC,EAA6CiC,KAA7C;QACD,CARH;MASD,CAZD,MAYO;QACL,KAAKiC,OAAL,CAAa5B,GAAG,CAACa,CAAJ,CAAMC,EAAnB,EAAuBd,GAAG,CAACa,CAAJ,CAAME,KAA7B,EAAoCrD,OAApC,EAA6CiC,KAA7C;MACD;IACF,CAzFD,CAyFE,OAAOmC,QAAP,EAAiB;MACjBjG,MAAM,CAAC2D,QAAP,CAAgB,gBAAhB,EAAkCsC,QAAlC;MACAhG,QAAQ,CAAC2D,WAAT,CAAqB,UAArB,EAAiCqC,QAAjC;IACD;EACF;;EAEqB,OAAPF,OAAO,CACpBG,OADoB,EAEpBC,KAFoB,EAGpBtE,OAHoB,EAIpBiC,KAJoB,EAKd;IACN;IACA,IAAIjC,OAAO,KAAKpB,aAAhB,EAA+B;MAC7BD,gBAAgB,CAAC4F,mBAAjB,GAAuCC,OAAvC,CAA+C,MAAM;QACnD,KAAKC,cAAL,CAAoBJ,OAApB,EAA6BC,KAA7B,EAAoCtE,OAApC,EAA6CiC,KAA7C;MACD,CAFD;IAGD,CAJD,MAIO;MACL,KAAKwC,cAAL,CAAoBJ,OAApB,EAA6BC,KAA7B,EAAoCtE,OAApC,EAA6CiC,KAA7C;IACD;EACF;;EAE4B,OAAdwC,cAAc,CAC3BJ,OAD2B,EAE3BC,KAF2B,EAG3BtE,OAH2B,EAI3BiC,KAJ2B,EAKrB;IACN,IAAI/D,SAAS,CAACwG,YAAV,MAA4BxG,SAAS,CAACyG,qBAAV,CAAgC3E,OAAhC,CAAhC,EAA0E;MACxE5B,QAAQ,CAACwG,OAAT,CACE1G,SAAS,CAAC2G,eAAV,EADF,EAEER,OAFF,EAGEC,KAHF,EAIEpG,SAAS,CAAC4G,gBAAV,EAJF,EAKE9E,OALF,EAMEiC,KANF,EAOEkC,KAPF,CAOStC,GAAD,IAAc;QACpBzD,QAAQ,CAAC2D,WAAT,CAAqB,YAArB,EAAmCF,GAAnC;MACD,CATD;IAUD;;IAED3D,SAAS,CAACiE,uBAAV,CAAkC,KAAlC;IACA5D,KAAK,CAACwG,KAAN,CAAY,GAAZ,EAAiBd,IAAjB,CAAsB,YAAY;MAChC,IAAI;QACF,MAAM,KAAKvD,cAAL,EAAN;MACD,CAFD,CAEE,OAAOmB,GAAP,EAAY;QACZzD,QAAQ,CAAC2D,WAAT,CAAqB,UAArB,EAAiCF,GAAjC;MACD;IACF,CAND;EAOD;;EAEqB,OAAfmD,eAAe,CAACjE,YAAD,EAAsC;IAC1D,KAAKA,YAAL,GAAoBA,YAApB;IACA,KAAKF,WAAL,CAAiB,sBAAjB,EAAyCE,YAAzC;EACD;;EAE8B,OAAxBkE,wBAAwB,CAACC,UAAD,EAA2B;IACxD,KAAKjE,mBAAL,CAAyBkE,oBAAzB,GAAgDD,UAAhD;EACD;;EAEyB,OAAnBrF,mBAAmB,CAACH,GAAD,EAAoB;IAC5C,KAAKuB,mBAAL,CAAyBvB,GAAzB,GAA+BA,GAA/B;EACD;;EAE2B,OAAbH,aAAa,CAAC6F,UAAD,EAA4B;IAAA;;IACtD,IAAIA,UAAU,IAAI,CAAAA,UAAU,SAAV,IAAAA,UAAU,WAAV,gCAAAA,UAAU,CAAEhG,IAAZ,wEAAoBC,MAApB,IAA6B,CAA/C,EAAkD;MAChD,KAAK4B,mBAAL,CAAyBzB,WAAzB,GAAuC4F,UAAvC;IACD;EACF;;EAEoB,OAAdC,cAAc,CAACC,YAAD,EAAkC;IACrDA,YAAY,CAACC,QAAb,GAAwB,KAAKC,cAAL,GAAsB,CAAtB,GAA0B,CAAlD;;IACA,IAAI,KAAKzE,YAAT,EAAuB;MACrB,MAAMC,UAAmB,GAAG,EAC1B,GAAGsE,YADuB;QAE1B,GAAG,KAAKvE,YAFkB;QAG1B,IAAI,KAAKE,mBAAL,IAA4B,EAAhC;MAH0B,CAA5B;MAKA,KAAKC,EAAL,CAAQC,SAAR,CAAkB,WAAlB,EAA+BH,UAA/B;IACD,CAPD,MAOO;MACL,MAAMA,UAAmB,GAAG,EAC1B,GAAGsE,YADuB;QAE1B,IAAI,KAAKrE,mBAAL,IAA4B,EAAhC;MAF0B,CAA5B;MAIA,KAAKC,EAAL,CAAQC,SAAR,CAAkB,WAAlB,EAA+BH,UAA/B;IACD;;IACD,KAAKwE,cAAL,GAAsB,KAAtB;EACD;;AArTkB;;gBAAf3G,c,QACmC,IAAIZ,iBAAJ,CACrC,WADqC,EAErC,QAFqC,EAGrCW,aAHqC,C;;gBADnCC,c;;gBAAAA,c,yBAO0C,E;;gBAP1CA,c,oBAQ4B,I;;AAgTlC,OAAO,MAAMiB,kBAAkB,GAAGpB,QAA3B;AACP,OAAO,MAAM+G,UAAU,GAAG5G,cAAnB"}
|
|
1
|
+
{"version":3,"names":["MpDataLayerHelper","DataStore","Logger","Reporter","DataElementProcessor","TagProcessor","Utils","QcProcessor","NetworkService","EventBus","VisitIdProcessor","DL_INIT_EVENT","MagicPixelImpl","init","options","refreshClientSdkJson","isDataStoreReady","Error","device_type","trim","length","overrideDeviceType","setAppVersion","app_version","orgId","fbp","getFacebookFBP","logDbg","setFacebookClientId","MagicPixelEventBus","on","evtName","payload","JSON","stringify","eventName","eventDataModel","model","eventId","shouldExecuteTMForEvent","enQueueTMFire","checkAndFireTM","isFirstOpen","isFirstOpenAfterInstall","recordEvent","ready","customerInfo","newPayload","customerIdentifiers","dl","pushEvent","getDebugId","isTagManagerProcessing","item","deQueueTMFire","name","dcrName","dcrPayload","runTM","sseOnly","err","logError","reportError","triggerName","evtId","eventData","setTagManagerProcessing","processDataElements","getSdkDataElements","sdk","getClientSdk","pcKey","getSdkPcKey","pcVal","getDataElementValue","setPrivacyCompliance","getSdkPageLangKey","setDataElement","setPageLang","getOperatingSystem","toLowerCase","initReporter","s","ev","ev_id","getDeviceType","getPageLang","getDeviceOs","getPageName","getClientDownStream","getCoreVersion","validQCList","processQc","getSdkQC","getValidQcInfo","processTags","then","_fireTM","catch","runTMErr","envName","envId","incrementVisitDepth","finally","_fireTMPrivate","hasOneSSTTag","shouldFireSstForEvent","postSST","getDataElements","getSSTDownStream","sleep","setCustomerInfo","setFirebaseAppInstanceId","instanceId","firebase_instance_id","appVersion","recordPageLoad","pageLoadInfo","is_entry","firstAppLaunch","parseQueryParamsToObject","deep_link_url","MagicPixel"],"sources":["index.tsx"],"sourcesContent":["import { MpDataLayerHelper } from './eedl/eedl';\nimport type {\n AppCustomerInfo,\n AppPageLoad,\n MapLike,\n SdkInitOptions,\n} from './common/app-types';\nimport { DataStore } from './common/data-store';\nimport { Logger } from './common/logger';\nimport { Reporter } from './common/reporter';\nimport { DataElementProcessor } from './processors/data-element.processor';\nimport { TagProcessor } from './processors/tag.processor';\nimport { Utils } from './common/utils';\nimport { QcProcessor } from './processors/qc.processor';\nimport { NetworkService } from './common/network-service';\nimport { EventBus } from './common/event-bus';\nimport { VisitIdProcessor } from './processors/visit-id.processor';\n\nconst DL_INIT_EVENT = 'page_load';\n\nclass MagicPixelImpl {\n private static dl: MpDataLayerHelper = new MpDataLayerHelper(\n 'mpDlEvent',\n 'manual',\n DL_INIT_EVENT\n );\n private static customerInfo: AppCustomerInfo;\n private static customerIdentifiers: MapLike = {};\n private static firstAppLaunch = true;\n\n static async init(options: SdkInitOptions): Promise<void> {\n await NetworkService.refreshClientSdkJson(options);\n\n if (!DataStore.isDataStoreReady()) {\n throw new Error('MagicPixel SDK is not ready. No tags will be processed');\n }\n\n if (\n options &&\n options.device_type &&\n options.device_type?.trim().length > 0\n ) {\n DataStore.overrideDeviceType(options.device_type);\n }\n\n this.setAppVersion(options.app_version);\n\n await VisitIdProcessor.init(options?.orgId);\n\n const fbp = await VisitIdProcessor.getFacebookFBP();\n if (fbp) {\n Logger.logDbg('Setting facebook client id', fbp);\n this.setFacebookClientId(fbp);\n } else {\n Logger.logDbg('No facebook client id found. not setting');\n }\n\n MagicPixelEventBus.on('mpDlEvent', async (evtName, payload) => {\n Logger.logDbg('mpDlEvent:: ', evtName, JSON.stringify(payload));\n const eventName: string = payload.eventName;\n const eventDataModel: MapLike = payload.model ?? {};\n const eventId = eventDataModel['ev._id'];\n\n Logger.logDbg('Tracking Event:: ', eventName, 'with id:: ', eventId);\n\n if (DataStore.shouldExecuteTMForEvent(eventName)) {\n // if this is something the tag manager is interested in - fire tag manager\n DataStore.enQueueTMFire(\n false,\n `custom_event_${eventName}`,\n eventName,\n eventId,\n eventDataModel\n );\n await this.checkAndFireTM();\n }\n });\n\n const isFirstOpen = await VisitIdProcessor.isFirstOpenAfterInstall();\n if (isFirstOpen) {\n Logger.logDbg('First open event fired');\n this.recordEvent('app_first_open', {});\n }\n\n this.ready();\n }\n\n static recordEvent(eventName: string, payload: MapLike): void {\n if (this.customerInfo) {\n const newPayload: MapLike = {\n ...payload,\n ...this.customerInfo,\n ...(this.customerIdentifiers ?? {}),\n };\n this.dl.pushEvent(eventName, newPayload);\n } else {\n const newPayload: MapLike = {\n ...payload,\n ...(this.customerIdentifiers ?? {}),\n };\n this.dl.pushEvent(eventName, newPayload);\n }\n }\n\n static ready(): void {\n this.dl.ready();\n }\n\n static getDebugId(): string {\n return DataStore.getDebugId();\n }\n\n private static async checkAndFireTM(): Promise<void> {\n try {\n if (!DataStore.isTagManagerProcessing()) {\n const item = DataStore.deQueueTMFire();\n if (item) {\n Logger.logDbg(\n 'Executing TM For: ',\n item.name,\n ', Event:: ',\n item.dcrName,\n ', Event id:: ',\n item.eventId,\n 'Payload:: ',\n item.dcrPayload\n );\n await this.runTM(\n item.sseOnly,\n item.name,\n item.dcrName,\n item.eventId,\n item.dcrPayload\n );\n }\n } else {\n Logger.logDbg(\n 'Tag Manager is processing or is not ready. This event will start after that'\n );\n }\n } catch (err) {\n Logger.logError('Error check and process tm', err);\n Reporter.reportError('m:checkAndFireTM', err);\n }\n }\n\n private static async runTM(\n sseOnly: boolean,\n triggerName: string,\n evtName: string,\n evtId: string,\n eventData?: Record<string, any>\n ): Promise<void> {\n try {\n Logger.logDbg(\n 'Running:: ',\n sseOnly,\n triggerName,\n evtName,\n evtId,\n eventData\n );\n\n // set tag manager in process status\n DataStore.setTagManagerProcessing(true);\n\n // process all the data elements and cache them for this run\n await DataElementProcessor.processDataElements(\n DataStore.getSdkDataElements(),\n eventData\n );\n\n const sdk = DataStore.getClientSdk();\n\n const pcKey = DataStore.getSdkPcKey();\n if (pcKey) {\n const pcVal = DataStore.getDataElementValue(pcKey);\n if (typeof pcVal !== 'undefined' && pcVal === true) {\n Logger.logDbg('Set: PR Comp: ', true);\n DataStore.setPrivacyCompliance(true);\n } else {\n Logger.logDbg('Set: PR Comp: ', false);\n DataStore.setPrivacyCompliance(false);\n }\n } else {\n Logger.logDbg('Set: PR Comp: ', false);\n DataStore.setPrivacyCompliance(true);\n }\n\n if (DataStore.getSdkPageLangKey()) {\n DataStore.setDataElement(\n 'page_lang_key',\n DataStore.getSdkPageLangKey()\n );\n DataStore.setPageLang(\n DataStore.getDataElementValue('page_lang_key') as string\n );\n } else {\n DataStore.setDataElement('page_lang_key', null);\n }\n\n //set page_browser default data element with page_os because backend expects this\n DataStore.setDataElement(\n 'page_browser',\n DataStore.getOperatingSystem().toLowerCase()\n );\n\n Reporter.initReporter(\n sdk.s.ev,\n sdk.s.ev_id,\n DataStore.getDeviceType(),\n DataStore.getPageLang(),\n DataStore.getDeviceOs(),\n DataStore.getPageName(),\n evtName,\n evtId,\n DataStore.getClientDownStream(),\n DataStore.getCoreVersion(),\n []\n );\n\n const validQCList = QcProcessor.processQc(\n DataStore.getSdkQC(),\n evtName,\n evtId\n );\n\n if (validQCList?.length > 0) {\n Logger.logDbg('Found Valid QCs to process', DataStore.getValidQcInfo());\n\n TagProcessor.processTags(evtName, evtId)\n .then(() => {\n this._fireTM(sdk.s.ev, sdk.s.ev_id, evtName, evtId);\n })\n .catch((err) => {\n Logger.logError('Error processing tag lists.', err);\n Reporter.reportError('i::processTags', err);\n this._fireTM(sdk.s.ev, sdk.s.ev_id, evtName, evtId);\n });\n } else {\n this._fireTM(sdk.s.ev, sdk.s.ev_id, evtName, evtId);\n }\n } catch (runTMErr) {\n Logger.logError('Error in runTM', runTMErr);\n Reporter.reportError('m::runTM', runTMErr);\n }\n }\n\n private static _fireTM(\n envName: string,\n envId: string,\n evtName: string,\n evtId: string\n ): void {\n // increment visit_depth if event name is page_load because that's the only way we can track page views in an app for now\n if (evtName === DL_INIT_EVENT) {\n VisitIdProcessor.incrementVisitDepth().finally(() => {\n this._fireTMPrivate(envName, envId, evtName, evtId);\n });\n } else {\n this._fireTMPrivate(envName, envId, evtName, evtId);\n }\n }\n\n private static _fireTMPrivate(\n envName: string,\n envId: string,\n evtName: string,\n evtId: string\n ): void {\n if (DataStore.hasOneSSTTag() && DataStore.shouldFireSstForEvent(evtName)) {\n Reporter.postSST(\n DataStore.getDataElements(),\n envName,\n envId,\n DataStore.getSSTDownStream(),\n evtName,\n evtId\n ).catch((err: any) => {\n Reporter.reportError('l::postSST', err);\n });\n }\n\n DataStore.setTagManagerProcessing(false);\n Utils.sleep(250).then(async () => {\n try {\n await this.checkAndFireTM();\n } catch (err) {\n Reporter.reportError('i::runTM', err);\n }\n });\n }\n\n static setCustomerInfo(customerInfo: AppCustomerInfo): void {\n this.customerInfo = customerInfo;\n this.recordEvent('idl_attribution_link', customerInfo);\n }\n\n static setFirebaseAppInstanceId(instanceId: string): void {\n this.customerIdentifiers.firebase_instance_id = instanceId;\n }\n\n static setFacebookClientId(fbp: string): void {\n this.customerIdentifiers.fbp = fbp;\n }\n\n private static setAppVersion(appVersion?: string): void {\n if (appVersion && appVersion?.trim()?.length > 0) {\n this.customerIdentifiers.app_version = appVersion;\n }\n }\n\n static recordPageLoad(pageLoadInfo: AppPageLoad): void {\n pageLoadInfo.is_entry = this.firstAppLaunch ? 1 : 0;\n if (this.customerInfo) {\n const newPayload: MapLike = {\n ...pageLoadInfo,\n ...this.customerInfo,\n ...(this.customerIdentifiers ?? {}),\n ...Utils.parseQueryParamsToObject(pageLoadInfo?.deep_link_url),\n };\n this.dl.pushEvent('page_load', newPayload);\n } else {\n const newPayload: MapLike = {\n ...pageLoadInfo,\n ...(this.customerIdentifiers ?? {}),\n ...Utils.parseQueryParamsToObject(pageLoadInfo?.deep_link_url),\n };\n this.dl.pushEvent('page_load', newPayload);\n }\n this.firstAppLaunch = false;\n }\n}\n\nexport const MagicPixelEventBus = EventBus;\nexport const MagicPixel = MagicPixelImpl;\n"],"mappings":"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"}
|
|
@@ -5,6 +5,7 @@ export declare class Utils {
|
|
|
5
5
|
static triggerEvent(eventName: string, payload: any): void;
|
|
6
6
|
static calculateMsp(dim: ScaledSize, limit: number): boolean;
|
|
7
7
|
static _makeUniqueStringArray(input: string[]): string[];
|
|
8
|
+
static parseQueryParamsToObject(url?: string): Record<string, any>;
|
|
8
9
|
static isTablet(): boolean;
|
|
9
10
|
static sleep(delay?: number): Promise<void>;
|
|
10
11
|
/**
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@magicpixel/rn-mp-client-sdk",
|
|
3
|
-
"version": "0.8.
|
|
3
|
+
"version": "0.8.6",
|
|
4
4
|
"description": "test",
|
|
5
5
|
"main": "lib/commonjs/index",
|
|
6
6
|
"module": "lib/module/index",
|
|
@@ -72,7 +72,8 @@
|
|
|
72
72
|
"release-it": "15.4.2",
|
|
73
73
|
"ts-jest": "29.0.2",
|
|
74
74
|
"tsconfig-paths": "4.1.0",
|
|
75
|
-
"typescript": "4.8.3"
|
|
75
|
+
"typescript": "4.8.3",
|
|
76
|
+
"ts-node": "10.9.1"
|
|
76
77
|
},
|
|
77
78
|
"resolutions": {
|
|
78
79
|
"@types/react": "17.0.21"
|
|
@@ -163,7 +164,7 @@
|
|
|
163
164
|
"flat": "5.0.2",
|
|
164
165
|
"nanoid": "4.0.0",
|
|
165
166
|
"performant-array-to-tree": "1.11.0",
|
|
166
|
-
"
|
|
167
|
+
"react-native-url-polyfill": "1.3.0",
|
|
167
168
|
"uuid": "9.0.0"
|
|
168
169
|
}
|
|
169
170
|
}
|
package/src/common/app-types.ts
CHANGED
package/src/common/data-store.ts
CHANGED
|
@@ -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.
|
|
23
|
+
const CORE_VERSION = '0.8.6';
|
|
24
24
|
|
|
25
25
|
export class DataStore {
|
|
26
26
|
private static isDataStoreInitialized = false;
|
|
@@ -219,8 +219,7 @@ export class DataStore {
|
|
|
219
219
|
}
|
|
220
220
|
|
|
221
221
|
static getSdkVersion(): string {
|
|
222
|
-
|
|
223
|
-
return 'na';
|
|
222
|
+
return this.clientSdk.s.v;
|
|
224
223
|
}
|
|
225
224
|
|
|
226
225
|
static setDebugId(dbgId: string): void {
|
package/src/common/utils.ts
CHANGED
|
@@ -9,6 +9,7 @@ import type { MapLike } from './app-types';
|
|
|
9
9
|
import { flatten, unflatten } from 'flat';
|
|
10
10
|
import { EventBus } from './event-bus';
|
|
11
11
|
import { Dimensions, ScaledSize } from 'react-native';
|
|
12
|
+
import { URL } from 'react-native-url-polyfill';
|
|
12
13
|
|
|
13
14
|
export class Utils {
|
|
14
15
|
static triggerEvent(eventName: string, payload: any): void {
|
|
@@ -23,6 +24,22 @@ export class Utils {
|
|
|
23
24
|
return [...new Set(input)];
|
|
24
25
|
}
|
|
25
26
|
|
|
27
|
+
static parseQueryParamsToObject(url?: string): Record<string, any> {
|
|
28
|
+
const op: Record<string, any> = {};
|
|
29
|
+
try {
|
|
30
|
+
if (url && url?.trim().length > 0) {
|
|
31
|
+
const urlObject = new URL(url);
|
|
32
|
+
urlObject.searchParams.forEach((value, name) => {
|
|
33
|
+
op[name] = value;
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
} catch (err) {
|
|
37
|
+
// TODO: Report error
|
|
38
|
+
Logger.logError('Unable to parse query params', err);
|
|
39
|
+
}
|
|
40
|
+
return op;
|
|
41
|
+
}
|
|
42
|
+
|
|
26
43
|
static isTablet(): boolean {
|
|
27
44
|
const dim = Dimensions.get('screen');
|
|
28
45
|
return (
|
package/src/index.tsx
CHANGED
|
@@ -317,12 +317,14 @@ class MagicPixelImpl {
|
|
|
317
317
|
...pageLoadInfo,
|
|
318
318
|
...this.customerInfo,
|
|
319
319
|
...(this.customerIdentifiers ?? {}),
|
|
320
|
+
...Utils.parseQueryParamsToObject(pageLoadInfo?.deep_link_url),
|
|
320
321
|
};
|
|
321
322
|
this.dl.pushEvent('page_load', newPayload);
|
|
322
323
|
} else {
|
|
323
324
|
const newPayload: MapLike = {
|
|
324
325
|
...pageLoadInfo,
|
|
325
326
|
...(this.customerIdentifiers ?? {}),
|
|
327
|
+
...Utils.parseQueryParamsToObject(pageLoadInfo?.deep_link_url),
|
|
326
328
|
};
|
|
327
329
|
this.dl.pushEvent('page_load', newPayload);
|
|
328
330
|
}
|