kv-test-lib 1.0.5 → 1.0.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.
Files changed (43) hide show
  1. package/dist/browser/browser.d.ts +8 -0
  2. package/dist/browser/browser.js +1 -2
  3. package/dist/browser/cookies.d.ts +3 -0
  4. package/dist/browser/cookies.js +1 -2
  5. package/dist/browser/persist.d.ts +33 -0
  6. package/dist/browser/persist.js +1 -2
  7. package/dist/http.d.ts +7 -0
  8. package/dist/http.js +1 -2
  9. package/dist/interfaces.d.ts +117 -0
  10. package/dist/interfaces.js +1 -2
  11. package/dist/jobqueue.d.ts +35 -0
  12. package/dist/jobqueue.js +1 -2
  13. package/dist/kochava.d.ts +67 -0
  14. package/dist/kochava.js +2 -3
  15. package/dist/payloads/event.d.ts +6 -0
  16. package/dist/payloads/event.js +1 -2
  17. package/dist/payloads/identityLink.d.ts +7 -0
  18. package/dist/payloads/identityLink.js +1 -2
  19. package/dist/payloads/install.d.ts +6 -0
  20. package/dist/payloads/install.js +1 -2
  21. package/dist/payloads/kvinit.d.ts +5 -0
  22. package/dist/payloads/kvinit.js +1 -2
  23. package/dist/payloads/payload.d.ts +33 -0
  24. package/dist/payloads/payload.js +1 -2
  25. package/dist/utils/log.d.ts +30 -0
  26. package/dist/utils/log.js +1 -2
  27. package/dist/utils/utils.d.ts +5 -0
  28. package/dist/utils/utils.js +1 -2
  29. package/package.json +1 -1
  30. package/dist/browser/browser.js.map +0 -1
  31. package/dist/browser/cookies.js.map +0 -1
  32. package/dist/browser/persist.js.map +0 -1
  33. package/dist/http.js.map +0 -1
  34. package/dist/interfaces.js.map +0 -1
  35. package/dist/jobqueue.js.map +0 -1
  36. package/dist/kochava.js.map +0 -1
  37. package/dist/payloads/event.js.map +0 -1
  38. package/dist/payloads/identityLink.js.map +0 -1
  39. package/dist/payloads/install.js.map +0 -1
  40. package/dist/payloads/kvinit.js.map +0 -1
  41. package/dist/payloads/payload.js.map +0 -1
  42. package/dist/utils/log.js.map +0 -1
  43. package/dist/utils/utils.js.map +0 -1
@@ -0,0 +1,8 @@
1
+ export declare const getPackageName: () => string;
2
+ export declare const getLanguage: () => string;
3
+ export declare const getDeviceWidth: () => number;
4
+ export declare const getDeviceHeight: () => number;
5
+ export declare const getDeviceOrientation: () => string;
6
+ export declare const getBaseDomain: () => string;
7
+ export declare const getPageName: () => string;
8
+ export declare const getUrlParameter: (name: string) => string;
@@ -32,5 +32,4 @@ export const getUrlParameter = name => {
32
32
  const regex = new RegExp("[\\?&]" + name + "=([^&#]*)");
33
33
  const results = regex.exec(window.location.search);
34
34
  return results === null ? "" : decodeURIComponent(results[1].replace(/\+/g, " "));
35
- };
36
- //# sourceMappingURL=browser.js.map
35
+ };
@@ -0,0 +1,3 @@
1
+ export declare const setCookie: (name: string, value: string) => void;
2
+ export declare const getCookie: (name: string) => string;
3
+ export declare const deleteCookie: (name: string) => void;
@@ -26,5 +26,4 @@ export const deleteCookie = name => {
26
26
  const domain = getBaseDomain();
27
27
  document.cookie = name + "=" + (path ? ";path=" + path : "") + (domain ? ";domain=" + domain : "") + ";expires=Thu, 01 Jan 1970 00:00:01 GMT";
28
28
  }
29
- };
30
- //# sourceMappingURL=cookies.js.map
29
+ };
@@ -0,0 +1,33 @@
1
+ import { IdentityLink } from "../interfaces";
2
+ import { EventJob, IdLinkJob } from "../jobqueue";
3
+ export declare const MAX_STORED_IDLINKS = 10;
4
+ export declare enum PersistKey {
5
+ LastKvinit = "com.kochava.tracker.LastKvinit",
6
+ EventQueue = "com.kochava.tracker.EventQueue",
7
+ IdLinkQueue = "com.kochava.tracker.IdLinkQueue",
8
+ DeviceId = "com.kochava.tracker.DeviceId",
9
+ InstallId = "com.kochava.tracker.InstallId",
10
+ FirstStartDate = "com.kochava.tracker.FirstStartDate",
11
+ InstallSentDate = "com.kochava.tracker.InstallSentDate",
12
+ KvinitSentDate = "com.kochava.tracker.KvinitSentDate",
13
+ SessionCount = "com.kochava.tracker.SessionCount",
14
+ IdentityLinks = "com.kochava.tracker.IdentityLinks",
15
+ OverrideAppId = "com.kochava.tracker.OverrideAppId",
16
+ OverrideDeviceId = "com.kochava.tracker.OverrideDeviceId",
17
+ OldKvid = "kv_id"
18
+ }
19
+ export declare const checkInstallIdChange: (inputId: string, useCookies: boolean) => boolean;
20
+ export declare const addToPersistedEventQueue: (job: EventJob) => void;
21
+ export declare const removeFromEventPersistedQueue: (job: EventJob) => void;
22
+ export declare const updateOrAddPersistedIdLinkQueue: (job: IdLinkJob) => void;
23
+ export declare const removeFromIdLinkPersistedQueue: (job: IdLinkJob) => void;
24
+ export declare const addPersistedIdLinks: (key: string, value: string, useCookies: boolean) => void;
25
+ export declare const checkDuplicateIdLink: (key: string, value: string) => boolean;
26
+ export declare const getPersistedIdentityLinks: () => IdentityLink | undefined;
27
+ export declare const readAndUpdateUTM: (appGuid: string, useCookies: boolean) => string;
28
+ export declare const readAndUpdatePersistedValue: (key: PersistKey, useCookie: boolean) => string;
29
+ export declare const updatePersistedValue: (key: PersistKey, value: string, useCookie: boolean) => void;
30
+ export declare const deletePersistedValue: (item: PersistKey) => void;
31
+ export declare const deleteAllPersisted: () => void;
32
+ export declare const readAndUpdateDeviceId: (useCookie: boolean) => string;
33
+ export declare const readAndUpdateSessionCount: (useCookie: boolean) => number;
@@ -164,5 +164,4 @@ export const readAndUpdateSessionCount = useCookie => {
164
164
  }
165
165
  updatePersistedValue(PersistKey.SessionCount, sessionCount.toString(), useCookie);
166
166
  return sessionCount;
167
- };
168
- //# sourceMappingURL=persist.js.map
167
+ };
package/dist/http.d.ts ADDED
@@ -0,0 +1,7 @@
1
+ import 'whatwg-fetch';
2
+ import { Payload } from "./payloads/payload";
3
+ export interface BaseResp {
4
+ success: string | number | boolean;
5
+ }
6
+ export declare const sendRequest: (payload: Payload, endpoint: string) => Promise<string>;
7
+ export declare const wasRespSuccess: (success: string | number | boolean) => boolean;
package/dist/http.js CHANGED
@@ -20,5 +20,4 @@ export const sendRequest = async (payload, endpoint) => {
20
20
  return "";
21
21
  }
22
22
  };
23
- export const wasRespSuccess = success => success === "1" || success === 1 || success === true;
24
- //# sourceMappingURL=http.js.map
23
+ export const wasRespSuccess = success => success === "1" || success === 1 || success === true;
@@ -0,0 +1,117 @@
1
+ interface DefaultConfig {
2
+ readonly general: {
3
+ readonly app_id_override: string;
4
+ readonly device_id_override: string;
5
+ };
6
+ readonly config: {
7
+ readonly init_token: string;
8
+ readonly refresh_minimum: number;
9
+ };
10
+ readonly install: {
11
+ readonly resend_id: "";
12
+ readonly updates_enabled: true;
13
+ };
14
+ readonly networking: {
15
+ readonly urls: {
16
+ readonly init: "https://kvinit-prod.api.kochava.com/track/kvinit";
17
+ readonly install: "https://web-sdk.control.kochava.com/track/json/";
18
+ readonly event: "https://web-sdk.control.kochava.com/track/json/";
19
+ readonly identityLink: "https://web-sdk.control.kochava.com/track/json/";
20
+ };
21
+ readonly retry_waterfall: [7, 30, 300, 1800];
22
+ };
23
+ readonly privacy: {
24
+ readonly allow_custom_ids: string[];
25
+ readonly deny_datapoints: string[];
26
+ readonly deny_event_names: string[];
27
+ readonly deny_identity_links: string[];
28
+ };
29
+ }
30
+ export declare const DEFAULTS: DefaultConfig;
31
+ export interface KvConfig {
32
+ general: {
33
+ device_id_override?: string;
34
+ app_id_override?: string;
35
+ };
36
+ config: {
37
+ init_token: string;
38
+ refresh_minimum: number;
39
+ };
40
+ install: {
41
+ resend_id?: string;
42
+ updates_enabled: boolean;
43
+ };
44
+ networking: {
45
+ urls: {
46
+ init: string;
47
+ install: string;
48
+ identityLink: string;
49
+ event: string;
50
+ };
51
+ retry_waterfall: number[];
52
+ };
53
+ privacy: {
54
+ allow_custom_ids: string[];
55
+ deny_datapoints: string[];
56
+ deny_event_names: string[];
57
+ deny_identity_links: string[];
58
+ };
59
+ }
60
+ export interface KvinitResponse {
61
+ general?: {
62
+ device_id_override?: string;
63
+ app_id_override?: string;
64
+ };
65
+ config?: {
66
+ init_token?: string;
67
+ refresh_minimum?: number;
68
+ };
69
+ install?: {
70
+ resend_id?: string;
71
+ updates_enabled?: boolean;
72
+ };
73
+ networking?: {
74
+ urls?: {
75
+ init?: string;
76
+ install?: string;
77
+ identityLink?: string;
78
+ event?: string;
79
+ };
80
+ retry_waterfall?: number[];
81
+ };
82
+ privacy?: {
83
+ allow_custom_ids?: string[];
84
+ deny_datapoints?: string[];
85
+ deny_event_names?: string[];
86
+ deny_identity_links?: string[];
87
+ };
88
+ success?: string | number | boolean;
89
+ }
90
+ export declare type Json = {
91
+ [key: string]: any;
92
+ };
93
+ export declare type IdentityLink = {
94
+ [key: string]: string;
95
+ };
96
+ export interface Urls {
97
+ init: string;
98
+ install: string;
99
+ event: string;
100
+ identityLink: string;
101
+ }
102
+ export interface OverrideUrls {
103
+ init?: string;
104
+ install?: string;
105
+ event?: string;
106
+ identityLink?: string;
107
+ }
108
+ export interface CustomValue {
109
+ data: Json;
110
+ isDeviceId: boolean;
111
+ }
112
+ export interface WrapperVersion {
113
+ name: string;
114
+ version: string;
115
+ build_date: string;
116
+ }
117
+ export {};
@@ -33,5 +33,4 @@ export const DEFAULTS = {
33
33
  deny_event_names: [],
34
34
  deny_identity_links: []
35
35
  }
36
- };
37
- //# sourceMappingURL=interfaces.js.map
36
+ };
@@ -0,0 +1,35 @@
1
+ import { IdentityLink, Json } from "./interfaces";
2
+ import { KochavaInstance } from "./kochava";
3
+ import { PostStartBody, PreStartBody } from "./payloads/payload";
4
+ export interface Job {
5
+ id: string;
6
+ queuedBeforeStart: boolean;
7
+ preStartBody: PreStartBody;
8
+ postStartBody: PostStartBody;
9
+ retries: number;
10
+ }
11
+ export interface EventJob extends Job {
12
+ eventName: string;
13
+ }
14
+ export interface IdLinkJob extends Job {
15
+ idLink: IdentityLink;
16
+ }
17
+ export default class JobQueue {
18
+ private eventQueue;
19
+ idLinkQueue: IdLinkJob[];
20
+ private processing;
21
+ private stopped;
22
+ private paused;
23
+ private timeOut;
24
+ constructor();
25
+ start(instance: KochavaInstance): Promise<void>;
26
+ stop(): void;
27
+ pause(): void;
28
+ enqueueEvent(instance: KochavaInstance, args: [string, Json | string]): Promise<void>;
29
+ enqueueIdLink(instance: KochavaInstance, idLink: IdentityLink): Promise<void>;
30
+ dequeueJob(instance: KochavaInstance): Promise<boolean>;
31
+ processJob(instance: KochavaInstance, job: EventJob | IdLinkJob): Promise<boolean>;
32
+ attemptJob(instance: KochavaInstance, job: Job): Promise<boolean>;
33
+ updateEventJobs(instance: KochavaInstance): void;
34
+ updateIdLinkJobs(instance: KochavaInstance): void;
35
+ }
package/dist/jobqueue.js CHANGED
@@ -207,5 +207,4 @@ export default class JobQueue {
207
207
  }
208
208
  updatePersistedValue(PersistKey.IdLinkQueue, JSON.stringify(this.idLinkQueue), false);
209
209
  }
210
- }
211
- //# sourceMappingURL=jobqueue.js.map
210
+ }
@@ -0,0 +1,67 @@
1
+ import 'core-js/stable';
2
+ import 'regenerator-runtime/runtime';
3
+ import 'whatwg-fetch';
4
+ import JobQueue from "./jobqueue";
5
+ import { Json, Urls, CustomValue, KvConfig } from "./interfaces";
6
+ declare global {
7
+ interface Window {
8
+ kochava: Kochava;
9
+ }
10
+ }
11
+ export interface KochavaInstance {
12
+ appGuid: string;
13
+ started: boolean;
14
+ installStarted: boolean;
15
+ kvinitDone: boolean;
16
+ installDone: boolean;
17
+ disableAutoPage: boolean;
18
+ useCookies: boolean;
19
+ sleep: boolean;
20
+ version: string;
21
+ buildDate: string;
22
+ overrideUrls: Urls;
23
+ customValues: CustomValue[];
24
+ kochavaSession: string;
25
+ retryWaterfall: number[];
26
+ startTimeMS: number;
27
+ utm: string;
28
+ kochavaDeviceId: string;
29
+ kochavaInstallId: string;
30
+ kochavaInstallDate: number;
31
+ kochavaSessionCount: number;
32
+ kochavaConfig?: KvConfig;
33
+ }
34
+ export declare class Kochava {
35
+ instance: KochavaInstance;
36
+ jobQueue: JobQueue;
37
+ private constructor();
38
+ static create(): Kochava;
39
+ static createForNode(): Kochava;
40
+ static createForReact(): Kochava;
41
+ static createForVue(): Kochava;
42
+ static createForAngular(): Kochava;
43
+ useCookies(condition?: boolean): void;
44
+ disableAutoPage(condition?: boolean): void;
45
+ startWithAppGuid(appGuid: string): void;
46
+ shutdown(deleteData: boolean): void;
47
+ setLogLevel(logLevel: string): void;
48
+ executeAdvancedInstruction(key: string, valueStr: string, callback?: (input: string) => void): void;
49
+ sendEvent(name: string, data?: Json | string): void;
50
+ sendPageEvent(pageName?: string, additionalData?: Json): void;
51
+ registerIdentityLink(name: string, identifier: string): void;
52
+ registerCustomValue(name: string, value: string): void;
53
+ registerCustomDeviceIdentifier(name: string, value: string): void;
54
+ getStarted(): boolean;
55
+ getDeviceId(): string;
56
+ setSleep(sleep: boolean): void;
57
+ resetInstance(): void;
58
+ initInstance(appGuid: string): void;
59
+ checkFirstLaunchAndMigrate(): void;
60
+ checkPersistedKvinit(): void;
61
+ checkPersistedState(): void;
62
+ printStartupMsgs(appGuid: string): void;
63
+ beginStart(): Promise<void>;
64
+ performNewKvinit(): Promise<void>;
65
+ checkResendId(): boolean;
66
+ performInstall(): Promise<void>;
67
+ }
package/dist/kochava.js CHANGED
@@ -336,7 +336,7 @@ export class Kochava {
336
336
  this.instance.disableAutoPage = this.instance.disableAutoPage || false;
337
337
  this.instance.useCookies = this.instance.useCookies || false;
338
338
  this.instance.version = this.instance.version || "WebTracker " + SDK_VERSION;
339
- this.instance.buildDate = "kbd: 8/16/2024, 3:55:07 PM";
339
+ this.instance.buildDate = "kbd: 8/16/2024, 4:52:31 PM";
340
340
  this.instance.kochavaSession = utils.uuidv4().substring(0, 5);
341
341
  this.instance.startTimeMS = utils.getCurrTimeMS();
342
342
  this.instance.retryWaterfall = [7, 30, 300, 1800];
@@ -448,5 +448,4 @@ export class Kochava {
448
448
  }
449
449
  }
450
450
  // Only here for generic Web integration
451
- window.kochava = Kochava.create();
452
- //# sourceMappingURL=kochava.js.map
451
+ window.kochava = Kochava.create();
@@ -0,0 +1,6 @@
1
+ import { Json } from "../interfaces";
2
+ import { KochavaInstance } from "../kochava";
3
+ import { PreStartBody, PostStartBody } from "./payload";
4
+ export declare const constructPreStart: (instance: KochavaInstance, eventName: string, eventData?: Json | string) => PreStartBody;
5
+ export declare const constructPostStart: (instance: KochavaInstance, preStartBody: PreStartBody) => PostStartBody;
6
+ export declare const send: (instance: KochavaInstance, preStartBody: PreStartBody, postStartBody: PostStartBody) => Promise<boolean>;
@@ -83,5 +83,4 @@ export const send = async (instance, preStartBody, postStartBody) => {
83
83
  }
84
84
  Log.error("Event failed!");
85
85
  return false;
86
- };
87
- //# sourceMappingURL=event.js.map
86
+ };
@@ -0,0 +1,7 @@
1
+ import { IdentityLink } from "../interfaces";
2
+ import { KochavaInstance } from "../kochava";
3
+ import { PostStartBody, PreStartBody } from "./payload";
4
+ import { IdLinkJob } from "../jobqueue";
5
+ export declare const constructPreStart: (instance: KochavaInstance, idLink: IdentityLink) => PreStartBody;
6
+ export declare const constructPostStart: (instance: KochavaInstance, preStartBody: PreStartBody) => PostStartBody;
7
+ export declare const send: (instance: KochavaInstance, job: IdLinkJob) => Promise<boolean>;
@@ -65,5 +65,4 @@ export const send = async (instance, job) => {
65
65
  }
66
66
  Log.error("IdentityLink failed!");
67
67
  return false;
68
- };
69
- //# sourceMappingURL=identityLink.js.map
68
+ };
@@ -0,0 +1,6 @@
1
+ import { KochavaInstance } from "../kochava";
2
+ import { Payload } from "./payload";
3
+ export declare const build: (instance: KochavaInstance) => Payload;
4
+ export declare const cancelRetries: () => void;
5
+ export declare const send: (instance: KochavaInstance, payload: Payload, retries?: number) => Promise<boolean>;
6
+ export declare const onSuccess: (instance: KochavaInstance) => void;
@@ -142,5 +142,4 @@ const determineInstallUserTime = (instance, currTime) => {
142
142
  return firstStart;
143
143
  }
144
144
  return currTime;
145
- };
146
- //# sourceMappingURL=install.js.map
145
+ };
@@ -0,0 +1,5 @@
1
+ import { KochavaInstance } from "../kochava";
2
+ import { KvinitResponse } from "../interfaces";
3
+ export declare const cancelRetries: () => void;
4
+ export declare const send: (instance: KochavaInstance, retryWaterfall: number[], retries?: number) => Promise<boolean>;
5
+ export declare const applyKvinitResp: (instance: KochavaInstance, resp: KvinitResponse) => void;
@@ -125,5 +125,4 @@ const constructKvinitData = instance => {
125
125
  uptime,
126
126
  usertime: currTime
127
127
  };
128
- };
129
- //# sourceMappingURL=kvinit.js.map
128
+ };
@@ -0,0 +1,33 @@
1
+ import { Json } from '../interfaces';
2
+ import { KochavaInstance } from "../kochava";
3
+ export interface Payload {
4
+ action: string;
5
+ kochava_app_id: string;
6
+ kochava_device_id: string;
7
+ sdk_version: string;
8
+ sdk_protocol: string;
9
+ nt_id: string;
10
+ build_date?: string;
11
+ init_token?: string;
12
+ data?: Json;
13
+ }
14
+ export interface PreStartBody {
15
+ action: string;
16
+ sdk_version: string;
17
+ sdk_protocol: string;
18
+ init_token?: string;
19
+ data?: Json;
20
+ }
21
+ export interface PostStartBody {
22
+ kochava_app_id: string;
23
+ kochava_device_id: string;
24
+ nt_id: string;
25
+ data?: Json;
26
+ }
27
+ export interface CommonData {
28
+ starttime: number;
29
+ uptime: number;
30
+ usertime: number;
31
+ }
32
+ export declare const constructPayload: (action: string, instance: KochavaInstance, originalNtId?: string) => Payload;
33
+ export declare const constructCommonData: (instance: KochavaInstance) => CommonData;
@@ -29,5 +29,4 @@ export const constructCommonData = instance => {
29
29
  uptime: uptime,
30
30
  usertime: currTime / 1000
31
31
  };
32
- };
33
- //# sourceMappingURL=payload.js.map
32
+ };
@@ -0,0 +1,30 @@
1
+ declare enum Level {
2
+ Off = "Off",
3
+ Error = "Error",
4
+ Warn = "Warn",
5
+ Info = "Info",
6
+ Debug = "Debug",
7
+ Trace = "Trace"
8
+ }
9
+ declare class Logger {
10
+ private currLevel;
11
+ private logObjects;
12
+ private levelPrio;
13
+ private logsFilteredOut;
14
+ static instance: Logger;
15
+ constructor();
16
+ setLogLevel(input: string): void;
17
+ getLogLevel(): string;
18
+ setLogObjects(enable: boolean): void;
19
+ disableLogType(input: string): void;
20
+ error(msg: string, ...args: any): void;
21
+ warn(msg: string, ...args: any): void;
22
+ info(msg: string, ...args: any): void;
23
+ debug(msg: string, ...args: any): void;
24
+ trace(msg: string, ...args: any): void;
25
+ diagInfo(msg: string, ...args: any): void;
26
+ diagDebug(msg: string, ...args: any): void;
27
+ print(lvl: Level, msg: string, ...args: any): void;
28
+ }
29
+ export declare const Log: Logger;
30
+ export {};
package/dist/utils/log.js CHANGED
@@ -94,5 +94,4 @@ class Logger {
94
94
  }
95
95
  }
96
96
  }
97
- export const Log = new Logger();
98
- //# sourceMappingURL=log.js.map
97
+ export const Log = new Logger();
@@ -0,0 +1,5 @@
1
+ export declare const uuidv4: () => string;
2
+ export declare const getCurrTimeMS: () => number;
3
+ export declare const getCurrTimeSec: () => number;
4
+ export declare const formatTime: (num: number) => string;
5
+ export declare const getMsTime: () => string;
@@ -15,5 +15,4 @@ export const formatTime = num => {
15
15
  export const getMsTime = () => {
16
16
  const date = new Date();
17
17
  return `${date.getHours()}:${date.getMinutes()}:${date.getSeconds()}:${date.getMilliseconds()}`;
18
- };
19
- //# sourceMappingURL=utils.js.map
18
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "kv-test-lib",
3
- "version": "1.0.5",
3
+ "version": "1.0.6",
4
4
  "main": "dist/kochava.js",
5
5
  "files": [
6
6
  "dist/"
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../dist/browser/browser.js"],"names":["getPackageName","window","location","hostname","getLanguage","navigator","language","getDeviceWidth","screen","availWidth","getDeviceHeight","availHeight","getDeviceOrientation","innerWidth","innerHeight","getBaseDomain","regexResult","host","match","err","getPageName","page","pathname","substring","replace","getUrlParameter","name","search","regex","RegExp","results","exec","decodeURIComponent"],"mappings":"AAAA;;;;AAIA,OAAO,MAAMA,iBAAiB,MAAO,OAAMC,OAAOC,QAAP,CAAgBC,QAAS,MAA7D;AACP,OAAO,MAAMC,cAAc,MAAOC,SAAD,GAAcA,UAAUC,QAAxB,GAAmC,EAA7D;AACP,OAAO,MAAMC,iBAAiB,MAAON,MAAD,GAAWA,OAAOO,MAAP,CAAcC,UAAzB,GAAsC,CAAnE;AACP,OAAO,MAAMC,kBAAkB,MAAOT,MAAD,GAAWA,OAAOO,MAAP,CAAcG,WAAzB,GAAuC,CAArE;AACP,OAAO,MAAMC,uBAAuB,MAAOX,MAAD,GAAWA,OAAOY,UAAP,GAAoBZ,OAAOa,WAA3B,GAC/C,UAD+C,GAClC,WADuB,GACT,EAD1B;AAEP,OAAO,MAAMC,gBAAgB,MAAM;AAC/B,QAAI;AACA,cAAMC,cAAcf,OAAOC,QAAP,CAAgBe,IAAhB,CAAqBC,KAArB,CAA2B,eAA3B,CAApB;AACA,YAAIF,WAAJ,EACI,OAAOA,YAAY,CAAZ,CAAP;AACJ,eAAO,EAAP;AACH,KALD,CAMA,OAAOG,GAAP,EAAY;AACR,eAAOlB,OAAOC,QAAP,CAAgBe,IAAvB;AACH;AACJ,CAVM;AAWP,OAAO,MAAMG,cAAc,MAAM;AAC7B,QAAIC,OAAO,EAAX;AACA,QAAIpB,OAAOC,QAAX,EAAqB;AACjBmB,eAAOpB,OAAOC,QAAP,CAAgBoB,QAAhB,CAAyBC,SAAzB,CAAmC,CAAnC,CAAP;AACAF,eAAOA,KAAKG,OAAL,CAAa,MAAb,EAAqB,EAArB,CAAP;AACH;AACD,WAAOH,SAAS,EAAT,GAAc,GAAd,GAAoBA,IAA3B;AACH,CAPM;AAQP,OAAO,MAAMI,kBAAmBC,IAAD,IAAU;AACrC,QAAI,CAACzB,OAAOC,QAAR,IAAoB,CAACD,OAAOC,QAAP,CAAgByB,MAAzC,EAAiD;AAC7C,eAAO,EAAP;AACH;AACDD,WAAOA,KAAKF,OAAL,CAAa,KAAb,EAAoB,KAApB,EAA2BA,OAA3B,CAAmC,MAAnC,EAA2C,KAA3C,CAAP;AACA,UAAMI,QAAQ,IAAIC,MAAJ,CAAW,WAAWH,IAAX,GAAkB,WAA7B,CAAd;AACA,UAAMI,UAAUF,MAAMG,IAAN,CAAW9B,OAAOC,QAAP,CAAgByB,MAA3B,CAAhB;AACA,WAAOG,YAAY,IAAZ,GACD,EADC,GAEDE,mBAAmBF,QAAQ,CAAR,EAAWN,OAAX,CAAmB,KAAnB,EAA0B,GAA1B,CAAnB,CAFN;AAGH,CAVM","file":"browser.js","sourcesContent":["/*\n Authored by Brett Barinaga on 11/17/21.\n Copyright (c) Kochava, Inc. All rights reserved.\n*/\nexport const getPackageName = () => `com.${window.location.hostname}.web`;\nexport const getLanguage = () => (navigator) ? navigator.language : \"\";\nexport const getDeviceWidth = () => (window) ? window.screen.availWidth : 0;\nexport const getDeviceHeight = () => (window) ? window.screen.availHeight : 0;\nexport const getDeviceOrientation = () => (window) ? window.innerWidth < window.innerHeight\n ? \"portrait\" : \"landscape\" : \"\";\nexport const getBaseDomain = () => {\n try {\n const regexResult = window.location.host.match(/[^.]*\\.[^.]*$/);\n if (regexResult)\n return regexResult[0];\n return \"\";\n }\n catch (err) {\n return window.location.host;\n }\n};\nexport const getPageName = () => {\n let page = \"\";\n if (window.location) {\n page = window.location.pathname.substring(1);\n page = page.replace(/\\/+$/, \"\");\n }\n return page === \"\" ? \"/\" : page;\n};\nexport const getUrlParameter = (name) => {\n if (!window.location || !window.location.search) {\n return \"\";\n }\n name = name.replace(/[[]/, \"\\\\[\").replace(/[\\]]/, \"\\\\]\");\n const regex = new RegExp(\"[\\\\?&]\" + name + \"=([^&#]*)\");\n const results = regex.exec(window.location.search);\n return results === null\n ? \"\"\n : decodeURIComponent(results[1].replace(/\\+/g, \" \"));\n};\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../dist/browser/cookies.js"],"names":["getBaseDomain","setCookie","name","value","expires","date","Date","setTime","getTime","toUTCString","document","cookie","getCookie","nameEQ","charArray","split","i","length","char","charAt","substring","indexOf","deleteCookie","path","domain"],"mappings":"AAAA;;;;AAIA,SAASA,aAAT,QAA8B,WAA9B;AACA,OAAO,MAAMC,YAAY,CAACC,IAAD,EAAOC,KAAP,KAAiB;AACtC,QAAIC,UAAU,EAAd;AACA,UAAMC,OAAO,IAAIC,IAAJ,EAAb;AACAD,SAAKE,OAAL,CAAaF,KAAKG,OAAL,KAAiB,OAAO,EAAP,GAAY,EAAZ,GAAiB,EAAjB,GAAsB,IAApD;AACAJ,cAAW,aAAYC,KAAKI,WAAL,EAAmB,EAA1C;AACAC,aAASC,MAAT,GACIT,OACI,GADJ,IAEKC,SAAS,EAFd,IAGIC,OAHJ,GAII,kBAJJ,GAKIJ,eANR;AAOH,CAZM;AAaP,OAAO,MAAMY,YAAaV,IAAD,IAAU;AAC/B,UAAMW,SAASX,OAAO,GAAtB;AACA,UAAMY,YAAYJ,SAASC,MAAT,CAAgBI,KAAhB,CAAsB,GAAtB,CAAlB;AACA,SAAK,IAAIC,IAAI,CAAb,EAAgBA,IAAIF,UAAUG,MAA9B,EAAsCD,GAAtC,EAA2C;AACvC,YAAIE,OAAOJ,UAAUE,CAAV,CAAX;AACA,eAAOE,KAAKC,MAAL,CAAY,CAAZ,MAAmB,GAA1B,EACID,OAAOA,KAAKE,SAAL,CAAe,CAAf,EAAkBF,KAAKD,MAAvB,CAAP;AACJ,YAAIC,KAAKG,OAAL,CAAaR,MAAb,MAAyB,CAA7B,EACI,OAAOK,KAAKE,SAAL,CAAeP,OAAOI,MAAtB,EAA8BC,KAAKD,MAAnC,CAAP;AACP;AACD,WAAO,EAAP;AACH,CAXM;AAYP,OAAO,MAAMK,eAAgBpB,IAAD,IAAU;AAClC,QAAIU,UAAUV,IAAV,CAAJ,EAAqB;AACjB,cAAMqB,OAAO,GAAb;AACA,cAAMC,SAASxB,eAAf;AACAU,iBAASC,MAAT,GAAkBT,OAAO,GAAP,IACZqB,IAAD,GAAS,WAAWA,IAApB,GAA2B,EADd,KAEZC,MAAD,GAAW,aAAaA,MAAxB,GAAiC,EAFpB,IAGd,wCAHJ;AAIH;AACJ,CATM","file":"cookies.js","sourcesContent":["/*\n Authored by Brett Barinaga on 11/17/21.\n Copyright (c) Kochava, Inc. All rights reserved.\n*/\nimport { getBaseDomain } from \"./browser\";\nexport const setCookie = (name, value) => {\n let expires = \"\";\n const date = new Date();\n date.setTime(date.getTime() + 3650 * 24 * 60 * 60 * 1000);\n expires = `; expires=${date.toUTCString()}`;\n document.cookie =\n name +\n \"=\" +\n (value || \"\") +\n expires +\n \"; path=/;domain=\" +\n getBaseDomain();\n};\nexport const getCookie = (name) => {\n const nameEQ = name + \"=\";\n const charArray = document.cookie.split(';');\n for (let i = 0; i < charArray.length; i++) {\n let char = charArray[i];\n while (char.charAt(0) === \" \")\n char = char.substring(1, char.length);\n if (char.indexOf(nameEQ) === 0)\n return char.substring(nameEQ.length, char.length);\n }\n return \"\";\n};\nexport const deleteCookie = (name) => {\n if (getCookie(name)) {\n const path = \"/\";\n const domain = getBaseDomain();\n document.cookie = name + \"=\" +\n ((path) ? \";path=\" + path : \"\") +\n ((domain) ? \";domain=\" + domain : \"\") +\n \";expires=Thu, 01 Jan 1970 00:00:01 GMT\";\n }\n};\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../dist/browser/persist.js"],"names":["utils","getUrlParameter","setCookie","getCookie","deleteCookie","Log","MAX_STORED_IDLINKS","PersistKey","storedKeys","LastKvinit","EventQueue","IdLinkQueue","DeviceId","InstallId","FirstStartDate","InstallSentDate","KvinitSentDate","SessionCount","IdentityLinks","OverrideAppId","OverrideDeviceId","checkInstallIdChange","inputId","useCookies","persistedInstallId","readAndUpdatePersistedValue","updatePersistedValue","addToPersistedEventQueue","job","persistedQueueStr","localStorage","getItem","persistedQueue","JSON","parse","push","setItem","stringify","removeFromEventPersistedQueue","queueWithJobRemoved","filter","persistedJob","id","updateOrAddPersistedIdLinkQueue","idLinkKey","Object","keys","idLink","updated","persistedKey","removeFromIdLinkPersistedQueue","addPersistedIdLinks","key","value","persistedIdLinksStr","persistedIdLinks","storedSoFar","length","debug","checkDuplicateIdLink","getPersistedIdentityLinks","undefined","readAndUpdateUTM","appGuid","storageName","urlValue","storageValue","cookieValue","useCookie","deletePersistedValue","item","removeItem","deleteAllPersisted","forEach","readAndUpdateDeviceId","storedDeviceId","kvId","getCurrTimeSec","uuidv4","replace","readAndUpdateSessionCount","storedSessionCount","sessionCount","parseInt","toString"],"mappings":"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","file":"persist.js","sourcesContent":["/*\n Authored by Brett Barinaga on 11/17/21.\n Copyright (c) Kochava, Inc. All rights reserved.\n*/\nimport * as utils from \"../utils/utils\";\nimport { getUrlParameter } from \"./browser\";\nimport { setCookie, getCookie, deleteCookie } from \"./cookies\";\nimport { Log } from \"../utils/log\";\nexport const MAX_STORED_IDLINKS = 10;\nexport var PersistKey;\n(function (PersistKey) {\n PersistKey[\"LastKvinit\"] = \"com.kochava.tracker.LastKvinit\";\n PersistKey[\"EventQueue\"] = \"com.kochava.tracker.EventQueue\";\n PersistKey[\"IdLinkQueue\"] = \"com.kochava.tracker.IdLinkQueue\";\n PersistKey[\"DeviceId\"] = \"com.kochava.tracker.DeviceId\";\n PersistKey[\"InstallId\"] = \"com.kochava.tracker.InstallId\";\n PersistKey[\"FirstStartDate\"] = \"com.kochava.tracker.FirstStartDate\";\n PersistKey[\"InstallSentDate\"] = \"com.kochava.tracker.InstallSentDate\";\n PersistKey[\"KvinitSentDate\"] = \"com.kochava.tracker.KvinitSentDate\";\n PersistKey[\"SessionCount\"] = \"com.kochava.tracker.SessionCount\";\n PersistKey[\"IdentityLinks\"] = \"com.kochava.tracker.IdentityLinks\";\n PersistKey[\"OverrideAppId\"] = \"com.kochava.tracker.OverrideAppId\";\n PersistKey[\"OverrideDeviceId\"] = \"com.kochava.tracker.OverrideDeviceId\";\n PersistKey[\"OldKvid\"] = \"kv_id\";\n})(PersistKey || (PersistKey = {}));\nconst storedKeys = [\n PersistKey.LastKvinit,\n PersistKey.EventQueue,\n PersistKey.IdLinkQueue,\n PersistKey.DeviceId,\n PersistKey.InstallId,\n PersistKey.FirstStartDate,\n PersistKey.InstallSentDate,\n PersistKey.KvinitSentDate,\n PersistKey.SessionCount,\n PersistKey.IdentityLinks,\n PersistKey.OverrideAppId,\n PersistKey.OverrideDeviceId,\n];\nexport const checkInstallIdChange = (inputId, useCookies) => {\n const persistedInstallId = readAndUpdatePersistedValue(PersistKey.InstallId, useCookies);\n // if the input is empty, we don't need to change\n if (!inputId)\n return false;\n // if the persistedId is empty, we will need to change\n if (!persistedInstallId) {\n updatePersistedValue(PersistKey.InstallId, inputId, useCookies);\n return true;\n }\n // if the inputId and persistedId are the same, we dont need to change\n if (inputId === persistedInstallId)\n return false;\n // at this point both inputId and persistedInstallId exist and are not equal,\n // so we must need to change\n updatePersistedValue(PersistKey.InstallId, inputId, useCookies);\n return true;\n};\nexport const addToPersistedEventQueue = (job) => {\n const persistedQueueStr = localStorage.getItem(PersistKey.EventQueue);\n const persistedQueue = JSON.parse(persistedQueueStr) || [];\n persistedQueue.push(job);\n localStorage.setItem(PersistKey.EventQueue, JSON.stringify(persistedQueue));\n};\nexport const removeFromEventPersistedQueue = (job) => {\n const persistedQueueStr = localStorage.getItem(PersistKey.EventQueue);\n const persistedQueue = JSON.parse(persistedQueueStr) || [];\n const queueWithJobRemoved = persistedQueue.filter(persistedJob => {\n return persistedJob.id !== job.id;\n });\n localStorage.setItem(PersistKey.EventQueue, JSON.stringify(queueWithJobRemoved));\n};\nexport const updateOrAddPersistedIdLinkQueue = (job) => {\n const idLinkKey = Object.keys(job.idLink)[0];\n const persistedQueueStr = localStorage.getItem(PersistKey.IdLinkQueue);\n const persistedQueue = JSON.parse(persistedQueueStr) || [];\n let updated = false;\n for (const persistedJob of persistedQueue) {\n const persistedKey = Object.keys(persistedJob.idLink)[0];\n // if the key is already there, update it\n if (idLinkKey === persistedKey) {\n persistedJob.idLink[idLinkKey] = job.idLink[idLinkKey];\n updated = true;\n }\n }\n // if the key is new, add it\n if (!updated)\n persistedQueue.push(job);\n localStorage.setItem(PersistKey.IdLinkQueue, JSON.stringify(persistedQueue));\n};\nexport const removeFromIdLinkPersistedQueue = (job) => {\n const persistedQueueStr = localStorage.getItem(PersistKey.IdLinkQueue);\n const persistedQueue = JSON.parse(persistedQueueStr) || [];\n const queueWithJobRemoved = persistedQueue.filter(persistedJob => {\n return persistedJob.id !== job.id;\n });\n localStorage.setItem(PersistKey.IdLinkQueue, JSON.stringify(queueWithJobRemoved));\n};\nexport const addPersistedIdLinks = (key, value, useCookies) => {\n const persistedIdLinksStr = localStorage.getItem(PersistKey.IdentityLinks);\n const persistedIdLinks = JSON.parse(persistedIdLinksStr) || {};\n const storedSoFar = Object.keys(persistedIdLinks);\n if (storedSoFar.length > MAX_STORED_IDLINKS) {\n Log.debug(\"Maximum stored idLinks reached, most recent idLink will not be stored.\");\n return;\n }\n persistedIdLinks[key] = value;\n updatePersistedValue(PersistKey.IdentityLinks, JSON.stringify(persistedIdLinks), useCookies);\n};\nexport const checkDuplicateIdLink = (key, value) => {\n const persistedIdLinksStr = localStorage.getItem(PersistKey.IdentityLinks);\n if (persistedIdLinksStr) {\n const persistedIdLinks = JSON.parse(persistedIdLinksStr) || {};\n for (const persistedKey in persistedIdLinks) {\n if (key === persistedKey && persistedIdLinks[persistedKey] === value) {\n return true;\n }\n }\n }\n return false;\n};\nexport const getPersistedIdentityLinks = () => {\n const persistedIdLinksStr = localStorage.getItem(PersistKey.IdentityLinks);\n if (persistedIdLinksStr) {\n return JSON.parse(persistedIdLinksStr);\n }\n return undefined;\n};\nexport const readAndUpdateUTM = (appGuid, useCookies) => {\n const storageName = appGuid + \"_click\";\n const urlValue = getUrlParameter(\"ko_click_id\");\n const storageValue = localStorage.getItem(storageName);\n let cookieValue = \"\";\n if (useCookies)\n cookieValue = getCookie(storageName);\n if (urlValue) {\n localStorage.setItem(storageName, urlValue);\n if (useCookies)\n setCookie(storageName, urlValue);\n }\n else if (storageValue) {\n if (useCookies)\n setCookie(storageName, urlValue);\n }\n return (urlValue) ? urlValue :\n (storageValue) ? storageValue :\n (cookieValue) ? cookieValue : \"\";\n};\nexport const readAndUpdatePersistedValue = (key, useCookie) => {\n const urlValue = getUrlParameter(key);\n const storageValue = localStorage.getItem(key);\n let cookieValue = \"\";\n if (useCookie)\n cookieValue = getCookie(key);\n if (urlValue) {\n updatePersistedValue(key, urlValue, useCookie);\n }\n else if (storageValue) {\n updatePersistedValue(key, storageValue, useCookie);\n }\n else if (cookieValue) {\n updatePersistedValue(key, storageValue, useCookie);\n }\n return (urlValue) ? urlValue :\n (storageValue) ? storageValue :\n (cookieValue) ? cookieValue : \"\";\n};\nexport const updatePersistedValue = (key, value, useCookie) => {\n localStorage.setItem(key, value);\n if (useCookie)\n setCookie(key, value);\n};\nexport const deletePersistedValue = (item) => {\n localStorage.removeItem(item);\n deleteCookie(item);\n};\nexport const deleteAllPersisted = () => storedKeys.forEach(item => deletePersistedValue(item));\nexport const readAndUpdateDeviceId = (useCookie) => {\n let storedDeviceId = readAndUpdatePersistedValue(PersistKey.DeviceId, useCookie);\n if (!storedDeviceId) {\n const kvId = `KB${utils.getCurrTimeSec()}T${utils.uuidv4()}`;\n storedDeviceId = kvId.replace(/-/g, \"\");\n }\n updatePersistedValue(PersistKey.DeviceId, storedDeviceId, useCookie);\n return storedDeviceId;\n};\nexport const readAndUpdateSessionCount = (useCookie) => {\n const storedSessionCount = readAndUpdatePersistedValue(PersistKey.SessionCount, useCookie);\n let sessionCount = 1;\n if (storedSessionCount) {\n sessionCount = parseInt(storedSessionCount);\n sessionCount++;\n }\n updatePersistedValue(PersistKey.SessionCount, sessionCount.toString(), useCookie);\n return sessionCount;\n};\n"]}
package/dist/http.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../dist/http.js"],"names":["Log","sendRequest","payload","endpoint","headers","Headers","append","trace","nt_id","resp","fetch","method","body","JSON","stringify","text","e","error","wasRespSuccess","success"],"mappings":"AAAA;;;;AAIA,OAAO,cAAP;AACA,SAASA,GAAT,QAAoB,aAApB;AACA,OAAO,MAAMC,cAAc,OAAOC,OAAP,EAAgBC,QAAhB,KAA6B;AACpD,QAAI;AACA,cAAMC,UAAU,IAAIC,OAAJ,EAAhB;AACAD,gBAAQE,MAAR,CAAe,cAAf,EAA+B,kBAA/B;AACAN,YAAIO,KAAJ,CAAW,WAAUL,QAAQM,KAAM,kBAAnC,EAAsDL,QAAtD;AACA,cAAMM,OAAO,MAAMC,MAAMP,QAAN,EAAgB;AAC/BQ,oBAAQ,MADuB;AAE/BP,qBAASA,OAFsB;AAG/BQ,kBAAMC,KAAKC,SAAL,CAAeZ,OAAf;AAHyB,SAAhB,CAAnB;AAKA,eAAO,MAAMO,KAAKM,IAAL,EAAb;AACH,KAVD,CAWA,OAAOC,CAAP,EAAU;AACNhB,YAAIiB,KAAJ,CAAU,uBAAV,EAAmCD,CAAnC;AACA,eAAO,EAAP;AACH;AACJ,CAhBM;AAiBP,OAAO,MAAME,iBAAkBC,OAAD,IAAaA,YAAY,GAAZ,IAAmBA,YAAY,CAA/B,IAAoCA,YAAY,IAApF","file":"http.js","sourcesContent":["/*\n Authored by Brett Barinaga on 11/17/21.\n Copyright (c) Kochava, Inc. All rights reserved.\n*/\nimport 'whatwg-fetch';\nimport { Log } from \"./utils/log\";\nexport const sendRequest = async (payload, endpoint) => {\n try {\n const headers = new Headers();\n headers.append(\"Content-Type\", \"application/json\");\n Log.trace(`Request ${payload.nt_id} being sent to: `, endpoint);\n const resp = await fetch(endpoint, {\n method: \"POST\",\n headers: headers,\n body: JSON.stringify(payload),\n });\n return await resp.text();\n }\n catch (e) {\n Log.error(\"Error in post request\", e);\n return \"\";\n }\n};\nexport const wasRespSuccess = (success) => success === \"1\" || success === 1 || success === true;\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../dist/interfaces.js"],"names":["DEFAULTS","general","app_id_override","device_id_override","config","init_token","refresh_minimum","install","resend_id","updates_enabled","networking","urls","init","event","identityLink","retry_waterfall","privacy","allow_custom_ids","deny_datapoints","deny_event_names","deny_identity_links"],"mappings":"AAAA;;;;AAIA,OAAO,MAAMA,WAAW;AACpBC,aAAS;AACL;AACAC,yBAAiB,EAFZ;AAGL;AACAC,4BAAoB;AAJf,KADW;AAOpBC,YAAQ;AACJC,oBAAY,EADR;AAEJC,yBAAiB;AAFb,KAPY;AAWpBC,aAAS;AACL;AACAC,mBAAW,EAFN;AAGLC,yBAAiB;AAHZ,KAXW;AAgBpBC,gBAAY;AACRC,cAAM;AACFC,kBAAM,kDADJ;AAEFL,qBAAS,iDAFP;AAGFM,mBAAO,iDAHL;AAIFC,0BAAc;AAJZ,SADE;AAORC,yBAAiB,CAAC,CAAD,EAAI,EAAJ,EAAQ,GAAR,EAAa,IAAb;AAPT,KAhBQ;AAyBpBC,aAAS;AACLC,0BAAkB,EADb;AAELC,yBAAiB,EAFZ;AAGLC,0BAAkB,EAHb;AAILC,6BAAqB;AAJhB;AAzBW,CAAjB","file":"interfaces.js","sourcesContent":["/*\n Authored by Brett Barinaga on 11/17/21.\n Copyright (c) Kochava, Inc. All rights reserved.\n*/\nexport const DEFAULTS = {\n general: {\n // DO NOT DEFAULT\n app_id_override: \"\",\n // DO NOT DEFAULT\n device_id_override: \"\",\n },\n config: {\n init_token: \"\",\n refresh_minimum: 60,\n },\n install: {\n // DO NOT DEFAULT\n resend_id: \"\",\n updates_enabled: true,\n },\n networking: {\n urls: {\n init: \"https://kvinit-prod.api.kochava.com/track/kvinit\",\n install: \"https://web-sdk.control.kochava.com/track/json/\",\n event: \"https://web-sdk.control.kochava.com/track/json/\",\n identityLink: \"https://web-sdk.control.kochava.com/track/json/\"\n },\n retry_waterfall: [7, 30, 300, 1800],\n },\n privacy: {\n allow_custom_ids: [],\n deny_datapoints: [],\n deny_event_names: [],\n deny_identity_links: [],\n },\n};\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../dist/jobqueue.js"],"names":["Event","IdLink","Log","uuidv4","addToPersistedEventQueue","PersistKey","removeFromEventPersistedQueue","removeFromIdLinkPersistedQueue","updateOrAddPersistedIdLinkQueue","updatePersistedValue","jobIsEventJob","obj","jobIsIdLinkJob","JobQueue","constructor","eventQueue","idLinkQueue","processing","stopped","paused","start","instance","JSON","parse","localStorage","getItem","EventQueue","IdLinkQueue","updateEventJobs","updateIdLinkJobs","trace","stringify","dequeueJob","stop","timeOut","clearTimeout","pause","enqueueEvent","args","eventName","eventData","eventPreStartBody","constructPreStart","installDone","kvinitDone","postStartBody","constructPostStart","newJob","id","queuedBeforeStart","preStartBody","retries","push","newEventJob","undefined","enqueueIdLink","idLink","idLinkPreStartBody","idLinkJob","shift","result","processJob","eventJob","job","denyName","kochavaConfig","privacy","deny_event_names","debug","denyIdLinkKey","deny_identity_links","Object","keys","success","attemptJob","retryWaterfall","networking","retry_waterfall","retryIndex","length","retrySec","error","Promise","resolve","setTimeout","action","send","warn"],"mappings":"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","file":"jobqueue.js","sourcesContent":["/*\n Authored by Brett Barinaga on 11/17/21.\n Copyright (c) Kochava, Inc. All rights reserved.\n*/\nimport * as Event from \"./payloads/event\";\nimport * as IdLink from \"./payloads/identityLink\";\nimport { Log } from \"./utils/log\";\nimport { uuidv4 } from \"./utils/utils\";\nimport { addToPersistedEventQueue, PersistKey, removeFromEventPersistedQueue, removeFromIdLinkPersistedQueue, updateOrAddPersistedIdLinkQueue, updatePersistedValue } from \"./browser/persist\";\nfunction jobIsEventJob(obj) {\n return 'eventName' in obj;\n}\nfunction jobIsIdLinkJob(obj) {\n return 'idLink' in obj;\n}\nexport default class JobQueue {\n constructor() {\n this.eventQueue = [];\n this.idLinkQueue = [];\n this.processing = false;\n this.stopped = false;\n this.paused = false;\n }\n async start(instance) {\n this.eventQueue = JSON.parse(localStorage.getItem(PersistKey.EventQueue)) || [];\n this.idLinkQueue = JSON.parse(localStorage.getItem(PersistKey.IdLinkQueue)) || [];\n this.updateEventJobs(instance);\n this.updateIdLinkJobs(instance);\n Log.trace(\"Starting Event Queue\", JSON.parse(JSON.stringify(this.eventQueue)));\n Log.trace(\"Starting IdLink Queue\", JSON.parse(JSON.stringify(this.idLinkQueue)));\n this.stopped = false;\n this.paused = false;\n await this.dequeueJob(instance);\n }\n stop() {\n this.stopped = true;\n if (this.timeOut)\n clearTimeout(this.timeOut);\n this.processing = false;\n }\n pause() {\n this.paused = true;\n }\n async enqueueEvent(instance, args) {\n const eventName = args[0];\n const eventData = args[1];\n const eventPreStartBody = Event.constructPreStart(instance, eventName, eventData);\n if (instance.installDone && instance.kvinitDone) {\n const postStartBody = Event.constructPostStart(instance, eventPreStartBody);\n const newJob = {\n id: uuidv4(),\n queuedBeforeStart: false,\n preStartBody: eventPreStartBody,\n postStartBody,\n retries: 0,\n eventName,\n };\n this.eventQueue.push(newJob);\n addToPersistedEventQueue(newJob);\n await this.dequeueJob(instance);\n return;\n }\n const newEventJob = {\n id: uuidv4(),\n queuedBeforeStart: true,\n preStartBody: eventPreStartBody,\n postStartBody: undefined,\n retries: 0,\n eventName,\n };\n this.eventQueue.push(newEventJob);\n addToPersistedEventQueue(newEventJob);\n }\n async enqueueIdLink(instance, idLink) {\n const idLinkPreStartBody = IdLink.constructPreStart(instance, idLink);\n if (instance.installDone && instance.kvinitDone) {\n const postStartBody = IdLink.constructPostStart(instance, idLinkPreStartBody);\n const newJob = {\n id: uuidv4(),\n queuedBeforeStart: false,\n preStartBody: idLinkPreStartBody,\n postStartBody,\n retries: 0,\n idLink,\n };\n updateOrAddPersistedIdLinkQueue(newJob);\n this.idLinkQueue.push(newJob);\n await this.dequeueJob(instance);\n return;\n }\n const newJob = {\n id: uuidv4(),\n queuedBeforeStart: true,\n preStartBody: idLinkPreStartBody,\n postStartBody: undefined,\n retries: 0,\n idLink,\n };\n updateOrAddPersistedIdLinkQueue(newJob);\n this.idLinkQueue.push(newJob);\n }\n async dequeueJob(instance) {\n // If queue is busy, prev job not finished\n if (this.processing)\n return false;\n // If the queue is paused, do not dequeue a new job\n if (this.paused)\n return false;\n // If the queue is stopped do not dequeue a new job\n if (this.stopped) {\n return false;\n }\n // Prioritize sending identityLinks first\n // Remove first job from queue\n const idLinkJob = this.idLinkQueue.shift();\n if (idLinkJob) {\n // handle idlinkjob\n Log.trace(\"Dequeued Job: \", idLinkJob);\n this.processing = true;\n const result = await this.processJob(instance, idLinkJob);\n if (this.stopped) {\n return true;\n }\n this.processing = false;\n // If the job succeeded, dequeue the next job\n if (result) {\n removeFromIdLinkPersistedQueue(idLinkJob);\n return await this.dequeueJob(instance);\n }\n }\n const eventJob = this.eventQueue.shift();\n if (eventJob) {\n //handle eventJob\n Log.trace(\"Dequeued Job: \", eventJob);\n // Process the job\n this.processing = true;\n const result = await this.processJob(instance, eventJob);\n if (this.stopped) {\n return true;\n }\n this.processing = false;\n // If the job succeeded, dequeue the next job\n if (result) {\n removeFromEventPersistedQueue(eventJob);\n return await this.dequeueJob(instance);\n }\n }\n // If neither queue had a job, break out of recursion\n if (!idLinkJob && !eventJob)\n return false;\n return true;\n }\n async processJob(instance, job) {\n if (jobIsEventJob(job)) {\n for (const denyName of instance.kochavaConfig.privacy.deny_event_names) {\n if (denyName === job.eventName) {\n Log.debug(`Denied event_name ${denyName}, dropping request.`);\n return true;\n }\n }\n }\n else if (jobIsIdLinkJob(job)) {\n for (const denyIdLinkKey of instance.kochavaConfig.privacy.deny_identity_links) {\n if (denyIdLinkKey === Object.keys(job.idLink)[0]) {\n Log.debug(`Denied identity_link ${denyIdLinkKey}, dropping request.`);\n return true;\n }\n }\n }\n let success = false;\n do {\n success = await this.attemptJob(instance, job);\n // If our job succeeded\n if (success) {\n // Job Done\n Log.trace(\"Job processed successfully:\", job);\n return true;\n }\n // If it didnt succeed, but we our queue isnt stopped\n if (!this.stopped) {\n //retry the job\n const retryWaterfall = instance.kochavaConfig.networking.retry_waterfall;\n const retryIndex = (job.retries > retryWaterfall.length - 1) ?\n retryWaterfall.length - 1 : job.retries;\n const retrySec = retryWaterfall[retryIndex];\n Log.error(`Job failed, attempting again in ${retrySec} seconds`);\n await new Promise(resolve => this.timeOut = setTimeout(resolve, retrySec * 1000));\n job.retries++;\n }\n } while (!success && !this.stopped);\n // Job Canceled\n return true;\n }\n async attemptJob(instance, job) {\n if (job.preStartBody.action === \"event\")\n return await Event.send(instance, job.preStartBody, job.postStartBody);\n else if (job.preStartBody.action === \"identityLink\")\n return await IdLink.send(instance, job);\n else {\n Log.warn(\"Invalid action in job from jobqueue, cancelling.\");\n return true;\n }\n }\n updateEventJobs(instance) {\n for (const job of this.eventQueue) {\n if (job.queuedBeforeStart) {\n job.postStartBody = Event.constructPostStart(instance, job.preStartBody);\n }\n }\n updatePersistedValue(PersistKey.EventQueue, JSON.stringify(this.eventQueue), false);\n }\n updateIdLinkJobs(instance) {\n for (const job of this.idLinkQueue) {\n if (job.queuedBeforeStart) {\n job.postStartBody = IdLink.constructPostStart(instance, job.preStartBody);\n }\n }\n updatePersistedValue(PersistKey.IdLinkQueue, JSON.stringify(this.idLinkQueue), false);\n }\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../dist/kochava.js"],"names":["Log","JobQueue","Kvinit","Install","DEFAULTS","deleteAllPersisted","readAndUpdatePersistedValue","updatePersistedValue","PersistKey","checkDuplicateIdLink","addPersistedIdLinks","checkInstallIdChange","readAndUpdateSessionCount","readAndUpdateDeviceId","readAndUpdateUTM","utils","getPageName","SDK_VERSION","Kochava","constructor","resetInstance","jobQueue","create","createForNode","kochava","executeAdvancedInstruction","JSON","stringify","name","version","createForReact","createForVue","createForAngular","useCookies","condition","instance","disableAutoPage","startWithAppGuid","appGuid","error","started","warn","diagDebug","checkFirstLaunchAndMigrate","initInstance","sendPageEvent","checkPersistedState","checkPersistedKvinit","printStartupMsgs","beginStart","shutdown","deleteData","debug","info","cancelRetries","stop","setLogLevel","logLevel","key","valueStr","callback","wrapperVersion","parse","overrideUrls","init","event","install","identityLink","restoreUrls","url","networking","urls","disabled","forEach","level","disableLogType","currInstance","setLogObjects","sendEvent","data","enqueueEvent","pageName","additionalData","Object","assign","page_name","registerIdentityLink","identifier","idLink","localStorage","getItem","enqueueIdLink","registerCustomValue","value","dataToAdorn","customValues","push","isDeviceId","registerCustomDeviceIdentifier","getStarted","getDeviceId","kochavaDeviceId","setSleep","sleep","pause","installStarted","kvinitDone","installDone","buildDate","kochavaSession","retryWaterfall","startTimeMS","utm","kochavaInstallId","kochavaSessionCount","kochavaInstallDate","kochavaConfig","undefined","uuidv4","substring","getCurrTimeMS","FirstStartDate","String","getCurrTimeSec","oldKvId","OldKvid","DeviceId","InstallSentDate","persistedKvinit","persistedKvinitStr","LastKvinit","trace","applyKvinitResp","persistedKvinitDateStr","KvinitSentDate","lastKvinitDate","refreshMin","config","refresh_minimum","length","InstallId","diagInfo","getLogLevel","performNewKvinit","checkResendId","performInstall","start","send","newKvinit","newKvinitStr","resendId","resend_id","needsNewInstall","request","build","onSuccess","IdLinkQueue","idLinkQueue","window"],"mappings":"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","file":"kochava.js","sourcesContent":["/*\n Authored by Brett Barinaga on 11/17/21.\n Copyright (c) Kochava, Inc. All rights reserved.\n*/\nimport 'core-js/stable';\nimport 'regenerator-runtime/runtime';\nimport 'whatwg-fetch';\nimport { Log } from \"./utils/log\";\nimport JobQueue from \"./jobqueue\";\nimport * as Kvinit from \"./payloads/kvinit\";\nimport * as Install from \"./payloads/install\";\nimport { DEFAULTS, } from \"./interfaces\";\nimport { deleteAllPersisted, readAndUpdatePersistedValue, updatePersistedValue, PersistKey, checkDuplicateIdLink, addPersistedIdLinks, checkInstallIdChange, readAndUpdateSessionCount, readAndUpdateDeviceId, readAndUpdateUTM, } from \"./browser/persist\";\nimport * as utils from \"./utils/utils\";\nimport { getPageName } from \"./browser/browser\";\n// NOTE: Update this with new releases.\nconst SDK_VERSION = \"3.1.0\";\nexport class Kochava {\n // User will use the below factories instead of directly calling \n // the constructor\n constructor() {\n this.resetInstance();\n this.jobQueue = new JobQueue();\n }\n // ============================= PUBLIC =============================== //\n static create() {\n return new Kochava();\n }\n static createForNode() {\n const kochava = new Kochava();\n kochava.executeAdvancedInstruction(\"wrapper\", JSON.stringify({ name: \"Node\", version: \"\" }));\n return kochava;\n }\n static createForReact() {\n const kochava = new Kochava();\n kochava.executeAdvancedInstruction(\"wrapper\", JSON.stringify({ name: \"React\", version: \"\" }));\n return kochava;\n }\n static createForVue() {\n const kochava = new Kochava();\n kochava.executeAdvancedInstruction(\"wrapper\", JSON.stringify({ name: \"Vue\", version: \"\" }));\n return kochava;\n }\n static createForAngular() {\n const kochava = new Kochava();\n kochava.executeAdvancedInstruction(\"wrapper\", JSON.stringify({ name: \"Angular\", version: \"1.0.0\" }));\n return kochava;\n }\n /*\n Set if the SDK should also store persisted values in cookie storage.\n - Not all values can be persisted in cookies, such as event/idlink queues\n due to size constraints.\n - true = yes use cookies\n - no = no don't use cookies\n - defaults to false\n */\n useCookies(condition = false) {\n this.instance.useCookies = condition;\n }\n /*\n - Set whether the sdk shouldn't automatically send a page or should.\n - true = no auto page\n - false = yes auto page\n - defaults to false\n */\n disableAutoPage(condition = false) {\n this.instance.disableAutoPage = condition;\n }\n /*\n The primary means for starting the sdk.\n Responsibilites:\n - Checks for migrations.\n - Creates the sdk instance.\n - Checks for persisted state.\n - Determines and sends kvinit.\n - Determines and sends install.\n - Optionally enqueues an auto_page.\n - Starts the job queue.\n */\n startWithAppGuid(appGuid) {\n if (!appGuid) {\n Log.error(`Invalid appGuid ${appGuid}, start failed.`);\n return;\n }\n if (!this.instance)\n this.resetInstance();\n if (this.instance.started) {\n Log.warn(\"Kochava SDK already started.\");\n return;\n }\n Log.diagDebug(`Host called API: Start With App Guid ${appGuid}`);\n this.instance.started = true;\n this.checkFirstLaunchAndMigrate();\n this.initInstance(appGuid);\n if (!this.instance.disableAutoPage)\n this.sendPageEvent();\n this.checkPersistedState();\n this.checkPersistedKvinit();\n this.printStartupMsgs(appGuid);\n this.beginStart();\n }\n /*\n Primary means for stopping the sdk.\n Will optionally delete all persisted data, and will shutdown the\n sdk and job queue.\n */\n shutdown(deleteData) {\n Log.diagDebug(`Host called API: Shutdown and ${deleteData ? \"delete data\" : \"keep data\"}`);\n if (deleteData) {\n Log.debug(\"Deleting persisted values\");\n deleteAllPersisted();\n }\n if (!this.instance.started) {\n Log.warn(\"SDK already shutdown.\");\n }\n Log.info(\"SDK shutting down.\");\n Kvinit.cancelRetries();\n Install.cancelRetries();\n this.jobQueue.stop();\n // wipe whatever was previously in the queue\n this.jobQueue = new JobQueue();\n this.resetInstance();\n }\n /*\n Changes the current logLevel.\n Options include:\n - Off :: No logging whatsoever\n - Error :: Only critical errors\n - Warn :: Only critical errors and non-critical warnings\n - Info :: High-level sdk behavior logs (default)\n - Debug :: More in-depth sdk behavior logs and payload logs\n - Trace :: Everything, granular detail\n */\n setLogLevel(logLevel) {\n Log.diagDebug(`Host called API: Set Log Level ${logLevel}`);\n Log.setLogLevel(logLevel);\n }\n /*\n Used internally, for special SDK behavior not utilized by a client.\n Examples include:\n - urls :: purposefully changing an endpoint for testing\n - wrapper :: overwriting the version of a wrapper\n several more ...\n */\n executeAdvancedInstruction(key, valueStr, callback) {\n Log.diagDebug(`Host called API: Execute Advanced Instruction ${key}`);\n switch (key) {\n case \"wrapper\":\n {\n const wrapperVersion = JSON.parse(valueStr);\n if (!this.instance.version)\n this.instance.version = \"WebTracker \" + SDK_VERSION;\n switch (wrapperVersion.name) {\n case \"Angular\":\n this.instance.version += ` (${wrapperVersion.name} ${wrapperVersion.version})`;\n break;\n default:\n this.instance.version += ` (${wrapperVersion.name})`;\n break;\n }\n }\n break;\n case \"urls\":\n {\n const overrideUrls = JSON.parse(valueStr);\n if (overrideUrls.init)\n this.instance.overrideUrls.init = overrideUrls.init;\n if (overrideUrls.event)\n this.instance.overrideUrls.event = overrideUrls.event;\n if (overrideUrls.install)\n this.instance.overrideUrls.install = overrideUrls.install;\n if (overrideUrls.identityLink)\n this.instance.overrideUrls.identityLink = overrideUrls.identityLink;\n }\n break;\n case \"urlsRestore\":\n {\n const restoreUrls = JSON.parse(valueStr);\n for (const url of restoreUrls) {\n if (url === \"init\")\n this.instance.overrideUrls.init = DEFAULTS.networking.urls.init;\n if (url === \"event\")\n this.instance.overrideUrls.event = DEFAULTS.networking.urls.event;\n if (url === \"install\")\n this.instance.overrideUrls.install =\n DEFAULTS.networking.urls.install;\n if (url === \"identityLink\")\n this.instance.overrideUrls.identityLink =\n DEFAULTS.networking.urls.identityLink;\n }\n }\n break;\n case \"logFilter\":\n {\n const disabled = JSON.parse(valueStr);\n disabled.forEach((level) => Log.disableLogType(level));\n }\n break;\n case \"getInstance\":\n {\n const currInstance = JSON.stringify(this.instance);\n callback(currInstance);\n Log.debug(`capturing instance: ${valueStr}`);\n }\n break;\n case \"logObjects\":\n Log.setLogObjects(JSON.parse(valueStr));\n break;\n default:\n break;\n }\n }\n /*\n Builds and enqueues a kochava event. Must include an event_name string,\n with optional event_data as either another string or object.\n */\n sendEvent(name, data) {\n Log.diagDebug(`Host called API: Send Event`);\n if (!name) {\n Log.warn(\"Invalid event name, ignoring call.\");\n return;\n }\n this.jobQueue.enqueueEvent(this.instance, [name, data]);\n }\n /*\n Wraps the sendEvent call with predefined data specific to page events.\n */\n sendPageEvent(pageName, additionalData) {\n if (pageName)\n this.sendEvent(\"page\", Object.assign({ page_name: pageName }, additionalData));\n else\n this.sendEvent(\"page\", Object.assign({ page_name: getPageName() }, additionalData));\n }\n /*\n - Registers new identity links with the sdk, either to be sent out with\n the install, or standalone.\n - Will update an identity link if its key already exists in storage.\n - A max of 10 identity links are currently allowed to be stored\n at any one time.\n */\n registerIdentityLink(name, identifier) {\n Log.diagDebug(`Host called API: Register Identity Link ${name}`);\n if (!name || !identifier) {\n Log.warn(\"Invalid identity link, ignoring call.\");\n return;\n }\n if (checkDuplicateIdLink(name, identifier)) {\n Log.debug(\"Duplicate Identity Link found, ignoring.\");\n return;\n }\n const idLink = {};\n idLink[name] = identifier;\n addPersistedIdLinks(name, identifier, this.instance.useCookies);\n // if (this.instance.installStarted || this.instance.installDone) {\n if (localStorage.getItem(\"com.kochava.tracker.InstallSentDate\")) {\n // it will be sent standalone\n this.jobQueue.enqueueIdLink(this.instance, idLink);\n }\n // will be sent in install\n }\n // Allows the client to attach arbitrary data to certain payloads. \n registerCustomValue(name, value) {\n Log.diagDebug(`Host called API: Register Custom Value ${name}`);\n if (!name || !value) {\n Log.warn(\"Invalid custom value, ignoring call.\");\n return;\n }\n const dataToAdorn = {};\n dataToAdorn[name] = value;\n this.instance.customValues.push({ data: dataToAdorn, isDeviceId: false });\n }\n // Allows the client to attach arbitrary identifiers to go out in the install. \n registerCustomDeviceIdentifier(name, value) {\n Log.diagDebug(`Host called API: Register Custom Device Identifier ${name}`);\n if (!name || !value) {\n Log.warn(\"Invalid custom device identifier, ignoring call.\");\n return;\n }\n const dataToAdorn = {};\n dataToAdorn[name] = value;\n this.instance.customValues.push({ data: dataToAdorn, isDeviceId: true });\n }\n /*\n Returns whether or not the sdk is in a \"started\" state.\n This basically amounts to if start has been called,\n not if kvinit is done or the queue is started.\n Likewise, shutdown will set \"started\" to false;\n */\n getStarted() {\n return this.instance.started;\n }\n /*\n Returns the current kochavaDeviceId, or \"\" if called too early.\n */\n getDeviceId() {\n Log.diagDebug(`Host called API: Get Kochava Device Id`);\n if (this.instance.started)\n return this.instance.kochavaDeviceId;\n else\n return \"\";\n }\n /*\n Puts the sdk in a \"sleep\" state. This will stop the sdk from dequeuing\n new jobs and retrying failed jobs. Different than shutdown, because the\n current state is not destroyed.\n */\n setSleep(sleep) {\n Log.diagDebug(`Host called API: Sleep ${sleep ? \"Stop\" : \"Start\"}`);\n if (sleep && !this.instance.sleep) {\n // only pause if it was running\n this.instance.sleep = sleep;\n this.jobQueue.pause();\n }\n else if (!sleep && this.instance.sleep) {\n // only resume queueing if it was paused\n this.instance.sleep = sleep;\n this.beginStart();\n }\n }\n // ============================= =============================== //\n // Unintialized/invalid state.\n // start must be called before these values will be correct.\n resetInstance() {\n this.instance = {\n appGuid: \"\",\n started: false,\n installStarted: false,\n kvinitDone: false,\n installDone: false,\n disableAutoPage: false,\n useCookies: false,\n sleep: false,\n version: \"\",\n buildDate: \"\",\n overrideUrls: {\n init: \"\",\n install: \"\",\n event: \"\",\n identityLink: \"\",\n },\n customValues: [],\n kochavaSession: \"\",\n retryWaterfall: [],\n startTimeMS: 0,\n utm: \"\",\n kochavaDeviceId: \"\",\n kochavaInstallId: \"\",\n kochavaSessionCount: -1,\n kochavaInstallDate: -1,\n kochavaConfig: undefined,\n };\n }\n initInstance(appGuid) {\n // init instance with defaults\n this.instance.appGuid = appGuid;\n this.instance.disableAutoPage = this.instance.disableAutoPage || false;\n this.instance.useCookies = this.instance.useCookies || false;\n this.instance.version = this.instance.version || \"WebTracker \" + SDK_VERSION;\n this.instance.buildDate = \"kbd: 8/16/2024, 3:55:07 PM\";\n this.instance.kochavaSession = utils.uuidv4().substring(0, 5);\n this.instance.startTimeMS = utils.getCurrTimeMS();\n this.instance.retryWaterfall = [7, 30, 300, 1800];\n this.instance.kochavaConfig = JSON.parse(JSON.stringify(DEFAULTS));\n }\n checkFirstLaunchAndMigrate() {\n // If this is our first launch ever, set it in persistence.\n if (!readAndUpdatePersistedValue(PersistKey.FirstStartDate, this.instance.useCookies)) {\n updatePersistedValue(PersistKey.FirstStartDate, String(utils.getCurrTimeSec()), this.instance.useCookies);\n /*\n On a first launch of the v3 sdk, we need to migrate old persisted kv_id\n from v2.2, v2.3, and v2.5\n */\n // perform migration\n const oldKvId = readAndUpdatePersistedValue(PersistKey.OldKvid, this.instance.useCookies);\n if (oldKvId) {\n updatePersistedValue(PersistKey.DeviceId, oldKvId, this.instance.useCookies);\n updatePersistedValue(PersistKey.InstallSentDate, JSON.stringify(utils.getCurrTimeSec()), this.instance.useCookies);\n }\n }\n }\n checkPersistedKvinit() {\n // check if persisted kvinit\n let persistedKvinit = {};\n const persistedKvinitStr = readAndUpdatePersistedValue(PersistKey.LastKvinit, this.instance.useCookies);\n if (persistedKvinitStr) {\n persistedKvinit = JSON.parse(persistedKvinitStr);\n if (persistedKvinit) {\n // if persisted kvinit, apply it\n Log.trace(\"Found persisted kvinit.\", persistedKvinit);\n Kvinit.applyKvinitResp(this.instance, persistedKvinit);\n Log.trace(\"KochavaConfig after persistedKvinit:\", JSON.parse(JSON.stringify(this.instance.kochavaConfig)));\n }\n }\n // check refresh minimum too\n const persistedKvinitDateStr = readAndUpdatePersistedValue(PersistKey.KvinitSentDate, this.instance.useCookies);\n if (persistedKvinitDateStr) {\n const lastKvinitDate = JSON.parse(persistedKvinitDateStr);\n if (lastKvinitDate) {\n const refreshMin = this.instance.kochavaConfig.config.refresh_minimum;\n if (utils.getCurrTimeSec() - lastKvinitDate < refreshMin)\n this.instance.kvinitDone = true;\n }\n }\n }\n checkPersistedState() {\n this.instance.installDone =\n readAndUpdatePersistedValue(PersistKey.InstallSentDate, this.instance.useCookies).length > 0;\n this.instance.kochavaInstallId = readAndUpdatePersistedValue(PersistKey.InstallId, this.instance.useCookies);\n this.instance.kochavaDeviceId = readAndUpdateDeviceId(this.instance.useCookies);\n this.instance.kochavaSessionCount = readAndUpdateSessionCount(this.instance.useCookies);\n this.instance.utm = readAndUpdateUTM(this.instance.appGuid, this.instance.useCookies);\n }\n printStartupMsgs(appGuid) {\n Log.diagInfo(`Started SDK ${this.instance.version}\n published ${this.instance.buildDate}`);\n Log.diagInfo(`The log level is set to ${Log.getLogLevel()}`);\n Log.diagDebug(`This ${!this.instance.installDone ? \"is\" : \"is not\"} the first tracker SDK launch`);\n Log.diagDebug(`The kochava device id is ${this.instance.kochavaDeviceId}`);\n Log.diagDebug(`The kochava app GUID provided was ${appGuid}`);\n }\n async beginStart() {\n // if we need to send a new kvinit, send it\n if (!this.instance.kvinitDone) {\n Log.diagDebug(`A new kvinit will be sent`);\n await this.performNewKvinit();\n }\n else {\n Log.diagDebug(`A new kvinit will not be sent`);\n }\n // if the install_id changed and thus a new install must go out\n if (this.checkResendId())\n this.instance.installDone = false;\n Log.diagDebug(`The install ${this.instance.installDone ? \"has already\" : \"has not yet\"} been sent`);\n if (this.instance.sleep)\n return;\n if (!this.instance.installDone) {\n await this.performInstall();\n }\n if (this.instance.kvinitDone && this.instance.installDone) {\n await this.jobQueue.start(this.instance);\n }\n }\n async performNewKvinit() {\n this.instance.kvinitDone = await Kvinit.send(this.instance, this.instance.retryWaterfall);\n updatePersistedValue(PersistKey.KvinitSentDate, String(utils.getCurrTimeSec()), this.instance.useCookies);\n // if new kvinit, apply it\n let newKvinit = {};\n const newKvinitStr = readAndUpdatePersistedValue(PersistKey.LastKvinit, this.instance.useCookies);\n if (newKvinitStr) {\n newKvinit = JSON.parse(newKvinitStr);\n }\n Kvinit.applyKvinitResp(this.instance, newKvinit);\n Log.trace(\"KochavaConfig after new Kvinit:\", JSON.parse(JSON.stringify(this.instance.kochavaConfig)));\n }\n checkResendId() {\n let resendId = \"\";\n if (this.instance.kochavaConfig.install) {\n resendId = this.instance.kochavaConfig.install.resend_id;\n }\n const needsNewInstall = checkInstallIdChange(resendId, this.instance.useCookies);\n if (needsNewInstall) {\n Log.debug(`resend_id ${resendId} found, forcing new install`);\n }\n return needsNewInstall;\n }\n async performInstall() {\n const request = Install.build(this.instance);\n this.instance.installDone = await Install.send(this.instance, request);\n if (!this.instance.installDone)\n return;\n // If the install succeeded, remove all idLink that were passed to it\n Install.onSuccess(this.instance);\n updatePersistedValue(PersistKey.IdLinkQueue, JSON.stringify(this.jobQueue.idLinkQueue), false);\n }\n}\n// Only here for generic Web integration\nwindow.kochava = Kochava.create();\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../dist/payloads/event.js"],"names":["http","utils","browser","Log","constructCommonData","constructPreStart","instance","eventName","eventData","preStart","action","sdk_version","version","sdk_protocol","data","event_name","event_data","device_orientation","getDeviceOrientation","disp_w","getDeviceWidth","disp_h","getDeviceHeight","kochavaConfig","init_token","config","undefined","constructPostStart","preStartBody","postStartBody","kochava_app_id","appGuid","kochava_device_id","kochavaDeviceId","nt_id","kochavaSession","kochavaSessionCount","uuidv4","Object","assign","customValues","forEach","custom","isDeviceId","customKey","keys","privacy","keyAllowed","allowed","allow_custom_ids","build","payload","debug","JSON","stringify","deny_datapoints","denyPoint","point","key","send","respStr","sendRequest","overrideUrls","event","networking","urls","resp","success","trace","parse","wasRespSuccess","e","error","info"],"mappings":"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","file":"event.js","sourcesContent":["/*\n Authored by Brett Barinaga on 11/17/21.\n Copyright (c) Kochava, Inc. All rights reserved.\n*/\nimport * as http from \"../http\";\nimport * as utils from \"../utils/utils\";\nimport * as browser from \"../browser/browser\";\nimport { Log } from \"../utils/log\";\nimport { constructCommonData } from \"./payload\";\nexport const constructPreStart = (instance, eventName, eventData) => {\n const preStart = {\n action: \"event\",\n sdk_version: instance.version,\n sdk_protocol: \"17\",\n data: {\n event_name: eventName,\n event_data: eventData,\n device_orientation: browser.getDeviceOrientation(),\n disp_w: browser.getDeviceWidth(),\n disp_h: browser.getDeviceHeight(),\n },\n };\n if (instance.kochavaConfig)\n preStart.init_token = (instance.kochavaConfig.config.init_token) || undefined;\n return preStart;\n};\nexport const constructPostStart = (instance, preStartBody) => {\n const postStartBody = {\n kochava_app_id: instance.appGuid,\n kochava_device_id: instance.kochavaDeviceId,\n nt_id: `${instance.kochavaSession}-${instance.kochavaSessionCount}-${utils.uuidv4()}`,\n };\n postStartBody.data = Object.assign(Object.assign({}, constructCommonData(instance)), preStartBody.data);\n instance.customValues.forEach((custom) => {\n if (!custom.isDeviceId) {\n const customKey = Object.keys(custom.data)[0];\n if (instance.kochavaConfig.privacy) {\n let keyAllowed = false;\n for (const allowed of instance.kochavaConfig.privacy.allow_custom_ids) {\n if (customKey === allowed) {\n keyAllowed = true;\n }\n }\n if (keyAllowed)\n postStartBody.data = Object.assign(Object.assign({}, custom.data), postStartBody.data);\n }\n }\n });\n return postStartBody;\n};\nconst build = (instance, preStartBody, postStartBody) => {\n const payload = Object.assign(Object.assign({}, preStartBody), postStartBody);\n Log.debug(\"Event Payload\", JSON.stringify(payload));\n if (instance.kochavaConfig.privacy) {\n instance.kochavaConfig.privacy.deny_datapoints.forEach(denyPoint => {\n for (const point in payload.data) {\n const key = point;\n if (key === denyPoint)\n delete payload.data[key];\n }\n for (const point in payload) {\n const key = point;\n if (key === denyPoint)\n delete payload[key];\n }\n });\n }\n return payload;\n};\nexport const send = async (instance, preStartBody, postStartBody) => {\n const payload = build(instance, preStartBody, postStartBody);\n const respStr = await http.sendRequest(payload, (instance.overrideUrls.event) ?\n instance.overrideUrls.event : instance.kochavaConfig.networking.urls.event);\n let resp;\n let success = false;\n try {\n Log.trace(\"Event Response string:\", respStr);\n resp = JSON.parse(respStr);\n Log.debug(\"Event Response:\", respStr);\n success = http.wasRespSuccess(resp.success);\n }\n catch (e) {\n Log.error(\"Error parsing Event Response\", e);\n success = false;\n }\n if (success) {\n Log.info(\"Event success!\");\n return true;\n }\n Log.error(\"Event failed!\");\n return false;\n};\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../dist/payloads/identityLink.js"],"names":["http","utils","Log","constructCommonData","constructPreStart","instance","idLink","preStart","action","sdk_version","version","sdk_protocol","data","identity_link","Object","assign","kochavaConfig","init_token","config","undefined","constructPostStart","preStartBody","postStartBody","kochava_app_id","appGuid","kochava_device_id","kochavaDeviceId","nt_id","kochavaSession","kochavaSessionCount","uuidv4","build","job","payload","debug","JSON","stringify","diagDebug","privacy","deny_datapoints","forEach","denyPoint","point","key","send","respStr","sendRequest","overrideUrls","identityLink","networking","urls","resp","success","trace","parse","wasRespSuccess","e","error","info"],"mappings":"AAAA;;;;AAIA,OAAO,KAAKA,IAAZ,MAAsB,SAAtB;AACA,OAAO,KAAKC,KAAZ,MAAuB,gBAAvB;AACA,SAASC,GAAT,QAAoB,cAApB;AACA,SAASC,mBAAT,QAAoC,WAApC;AACA,OAAO,MAAMC,oBAAoB,CAACC,QAAD,EAAWC,MAAX,KAAsB;AACnD,UAAMC,WAAW;AACbC,gBAAQ,cADK;AAEbC,qBAAaJ,SAASK,OAFT;AAGbC,sBAAc,IAHD;AAIbC,cAAM;AACFC,2BAAeC,OAAOC,MAAP,CAAc,EAAd,EAAkBT,MAAlB;AADb;AAJO,KAAjB;AAQA,QAAID,SAASW,aAAb,EACIT,SAASU,UAAT,GAAuBZ,SAASW,aAAT,CAAuBE,MAAvB,CAA8BD,UAA/B,IAA8CE,SAApE;AACJ,WAAOZ,QAAP;AACH,CAZM;AAaP,OAAO,MAAMa,qBAAqB,CAACf,QAAD,EAAWgB,YAAX,KAA4B;AAC1D,UAAMC,gBAAgB;AAClBC,wBAAgBlB,SAASmB,OADP;AAElBC,2BAAmBpB,SAASqB,eAFV;AAGlBC,eAAQ,GAAEtB,SAASuB,cAAe,IAAGvB,SAASwB,mBAAoB,IAAG5B,MAAM6B,MAAN,EAAe;AAHlE,KAAtB;AAKAR,kBAAcV,IAAd,GAAqBE,OAAOC,MAAP,CAAcD,OAAOC,MAAP,CAAc,EAAd,EAAkBM,aAAaT,IAA/B,CAAd,EAAoDT,oBAAoBE,QAApB,CAApD,CAArB;AACA,WAAOiB,aAAP;AACH,CARM;AASP,MAAMS,QAAQ,CAAC1B,QAAD,EAAW2B,GAAX,KAAmB;AAC7B,UAAMC,UAAUnB,OAAOC,MAAP,CAAcD,OAAOC,MAAP,CAAc,EAAd,EAAkBiB,IAAIX,YAAtB,CAAd,EAAmDW,IAAIV,aAAvD,CAAhB;AACApB,QAAIgC,KAAJ,CAAU,sBAAV,EAAkCC,KAAKC,SAAL,CAAeH,OAAf,CAAlC;AACA/B,QAAImC,SAAJ,CAAe,wCAAf;AACA,QAAIhC,SAASW,aAAT,CAAuBsB,OAA3B,EAAoC;AAChCjC,iBAASW,aAAT,CAAuBsB,OAAvB,CAA+BC,eAA/B,CAA+CC,OAA/C,CAAuDC,aAAa;AAChE,iBAAK,MAAMC,KAAX,IAAoBT,QAAQrB,IAA5B,EAAkC;AAC9B,sBAAM+B,MAAMD,KAAZ;AACA,oBAAIC,QAAQF,SAAZ,EACI,OAAOR,QAAQrB,IAAR,CAAa+B,GAAb,CAAP;AACP;AACD,iBAAK,MAAMD,KAAX,IAAoBT,OAApB,EAA6B;AACzB,sBAAMU,MAAMD,KAAZ;AACA,oBAAIC,QAAQF,SAAZ,EACI,OAAOR,QAAQU,GAAR,CAAP;AACP;AACJ,SAXD;AAYH;AACD,WAAOV,OAAP;AACH,CAnBD;AAoBA,OAAO,MAAMW,OAAO,OAAOvC,QAAP,EAAiB2B,GAAjB,KAAyB;AACzC,UAAMC,UAAUF,MAAM1B,QAAN,EAAgB2B,GAAhB,CAAhB;AACA,UAAMa,UAAU,MAAM7C,KAAK8C,WAAL,CAAiBb,OAAjB,EAA2B5B,SAAS0C,YAAT,CAAsBC,YAAvB,GAC5C3C,SAAS0C,YAAT,CAAsBC,YADsB,GACP3C,SAASW,aAAT,CAAuBiC,UAAvB,CAAkCC,IAAlC,CAAuCF,YAD1D,CAAtB;AAEA,QAAIG,IAAJ;AACA,QAAIC,UAAU,KAAd;AACA,QAAI;AACAlD,YAAImD,KAAJ,CAAU,+BAAV,EAA2CR,OAA3C;AACAM,eAAOhB,KAAKmB,KAAL,CAAWT,OAAX,CAAP;AACA3C,YAAIgC,KAAJ,CAAU,wBAAV,EAAoCW,OAApC;AACAO,kBAAUpD,KAAKuD,cAAL,CAAoBJ,KAAKC,OAAzB,CAAV;AACH,KALD,CAMA,OAAOI,CAAP,EAAU;AACNtD,YAAIuD,KAAJ,CAAU,qCAAV,EAAiDD,CAAjD;AACAJ,kBAAU,KAAV;AACH;AACD,QAAIA,OAAJ,EAAa;AACTlD,YAAIwD,IAAJ,CAAS,uBAAT;AACA,eAAO,IAAP;AACH;AACDxD,QAAIuD,KAAJ,CAAU,sBAAV;AACA,WAAO,KAAP;AACH,CAtBM","file":"identityLink.js","sourcesContent":["/*\n Authored by Brett Barinaga on 11/18/21.\n Copyright (c) Kochava, Inc. All rights reserved.\n*/\nimport * as http from \"../http\";\nimport * as utils from \"../utils/utils\";\nimport { Log } from \"../utils/log\";\nimport { constructCommonData } from \"./payload\";\nexport const constructPreStart = (instance, idLink) => {\n const preStart = {\n action: \"identityLink\",\n sdk_version: instance.version,\n sdk_protocol: \"17\",\n data: {\n identity_link: Object.assign({}, idLink),\n },\n };\n if (instance.kochavaConfig)\n preStart.init_token = (instance.kochavaConfig.config.init_token) || undefined;\n return preStart;\n};\nexport const constructPostStart = (instance, preStartBody) => {\n const postStartBody = {\n kochava_app_id: instance.appGuid,\n kochava_device_id: instance.kochavaDeviceId,\n nt_id: `${instance.kochavaSession}-${instance.kochavaSessionCount}-${utils.uuidv4()}`,\n };\n postStartBody.data = Object.assign(Object.assign({}, preStartBody.data), constructCommonData(instance));\n return postStartBody;\n};\nconst build = (instance, job) => {\n const payload = Object.assign(Object.assign({}, job.preStartBody), job.postStartBody);\n Log.debug(\"IdentityLink Payload\", JSON.stringify(payload));\n Log.diagDebug(`IdentityLink to be sent as stand alone`);\n if (instance.kochavaConfig.privacy) {\n instance.kochavaConfig.privacy.deny_datapoints.forEach(denyPoint => {\n for (const point in payload.data) {\n const key = point;\n if (key === denyPoint)\n delete payload.data[key];\n }\n for (const point in payload) {\n const key = point;\n if (key === denyPoint)\n delete payload[key];\n }\n });\n }\n return payload;\n};\nexport const send = async (instance, job) => {\n const payload = build(instance, job);\n const respStr = await http.sendRequest(payload, (instance.overrideUrls.identityLink) ?\n instance.overrideUrls.identityLink : instance.kochavaConfig.networking.urls.identityLink);\n let resp;\n let success = false;\n try {\n Log.trace(\"IdentityLink Response string:\", respStr);\n resp = JSON.parse(respStr);\n Log.debug(\"IdentityLink Response:\", respStr);\n success = http.wasRespSuccess(resp.success);\n }\n catch (e) {\n Log.error(\"Error parsing IdentityLink Response\", e);\n success = false;\n }\n if (success) {\n Log.info(\"IdentityLink success!\");\n return true;\n }\n Log.error(\"IdentityLink failed!\");\n return false;\n};\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../dist/payloads/install.js"],"names":["http","utils","browser","Log","constructPayload","getPersistedIdentityLinks","PersistKey","readAndUpdatePersistedValue","updatePersistedValue","timeOut","canceled","build","instance","payload","installStarted","data","constructInstallData","debug","JSON","stringify","kochavaConfig","privacy","deny_datapoints","forEach","denyPoint","point","key","cancelRetries","clearTimeout","send","retries","success","resp","sendTime","getCurrTimeMS","startTimeMS","diagDebug","formatTime","respStr","sendRequest","overrideUrls","install","networking","urls","respTime","Date","toLocaleTimeString","trace","parse","wasRespSuccess","e","error","info","retryWaterfall","retry_waterfall","retryIndex","length","retrySec","Promise","resolve","setTimeout","onSuccess","kochavaInstallDate","InstallSentDate","String","useCookies","currTime","Math","floor","now","uptime","returnObj","starttime","usertime","determineInstallUserTime","device_orientation","getDeviceOrientation","package","getPackageName","disp_w","getDeviceWidth","disp_h","getDeviceHeight","language","getLanguage","utm","Object","assign","conversion_data","utm_source","customValues","device_ids","custom","customKey","keys","console","log","keyAllowed","allowed","allow_custom_ids","isDeviceId","persistedIdLinks","identity_link","includeKey","denyIdLinkKey","deny_identity_links","firstStartStr","FirstStartDate","firstStart"],"mappings":"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","file":"install.js","sourcesContent":["/*\n Authored by Brett Barinaga on 11/17/21.\n Copyright (c) Kochava, Inc. All rights reserved.\n*/\nimport * as http from \"../http\";\nimport * as utils from \"../utils/utils\";\nimport * as browser from \"../browser/browser\";\nimport { Log } from \"../utils/log\";\nimport { constructPayload } from \"./payload\";\nimport { getPersistedIdentityLinks, PersistKey, readAndUpdatePersistedValue, updatePersistedValue } from \"../browser/persist\";\nlet timeOut;\nlet canceled = false;\nexport const build = (instance) => {\n const payload = constructPayload(\"install\", instance);\n instance.installStarted = true;\n payload.data = constructInstallData(instance);\n Log.debug(\"Install Payload\", JSON.stringify(payload));\n if (instance.kochavaConfig.privacy) {\n instance.kochavaConfig.privacy.deny_datapoints.forEach(denyPoint => {\n for (const point in payload.data) {\n const key = point;\n if (key === denyPoint)\n delete payload.data[key];\n }\n for (const point in payload) {\n const key = point;\n if (key === denyPoint)\n delete payload[key];\n }\n });\n }\n return payload;\n};\nexport const cancelRetries = () => {\n canceled = true;\n clearTimeout(timeOut);\n};\nexport const send = async (instance, payload, retries = 0) => {\n canceled = false;\n let success = false;\n let resp;\n do {\n const sendTime = utils.getCurrTimeMS() - instance.startTimeMS;\n Log.diagDebug(`Sending install at ${utils.formatTime(sendTime / 1000)} seconds`);\n const respStr = await http.sendRequest(payload, (instance.overrideUrls.install) ?\n instance.overrideUrls.install : instance.kochavaConfig.networking.urls.install);\n const respTime = utils.getCurrTimeMS() - instance.startTimeMS;\n Log.diagDebug(`Completed install at ${new Date().toLocaleTimeString()} \n seconds with a network duration of ${utils.formatTime((respTime - sendTime) / 1000)} seconds`);\n if (canceled) {\n Log.trace(\"Can no longer retry install, cancelling.\");\n return false;\n }\n try {\n Log.trace(\"Install Response string:\", respStr);\n resp = JSON.parse(respStr);\n Log.debug(\"Install Response:\", respStr);\n success = http.wasRespSuccess(resp.success);\n }\n catch (e) {\n Log.error(\"Error parsing Install Response\", e);\n success = false;\n }\n if (success) {\n Log.info(\"Install success!\");\n return success;\n }\n if (!canceled) {\n const retryWaterfall = instance.kochavaConfig.networking.retry_waterfall;\n const retryIndex = (retries > retryWaterfall.length - 1) ? retryWaterfall.length - 1 : retries;\n const retrySec = retryWaterfall[retryIndex];\n Log.error(`Install failed, attempting again in ${retrySec} seconds`);\n await new Promise(resolve => { timeOut = setTimeout(resolve, retrySec * 1000); });\n retries++;\n }\n } while (!success && !canceled);\n};\nexport const onSuccess = (instance) => {\n instance.kochavaInstallDate = utils.getCurrTimeMS();\n updatePersistedValue(PersistKey.InstallSentDate, String(instance.kochavaInstallDate), instance.useCookies);\n};\nconst constructInstallData = (instance) => {\n const currTime = Math.floor(Date.now() / 1000);\n let uptime = (currTime - instance.startTimeMS) / 1000;\n if (uptime < 0.0)\n uptime = 0.0;\n let returnObj = {\n starttime: instance.startTimeMS / 1000,\n uptime: uptime,\n usertime: determineInstallUserTime(instance, currTime),\n device_orientation: browser.getDeviceOrientation(),\n package: browser.getPackageName(),\n disp_w: browser.getDeviceWidth(),\n disp_h: browser.getDeviceHeight(),\n language: browser.getLanguage(),\n };\n if (instance.utm) {\n returnObj = Object.assign(Object.assign({}, returnObj), { conversion_data: { utm_source: instance.utm } });\n }\n if (instance.customValues.length > 0)\n returnObj.device_ids = {};\n instance.customValues.forEach((custom) => {\n const customKey = Object.keys(custom.data)[0];\n console.log(\"customData: \", custom);\n if (instance.kochavaConfig.privacy) {\n let keyAllowed = false;\n for (const allowed of instance.kochavaConfig.privacy.allow_custom_ids) {\n if (customKey === allowed) {\n keyAllowed = true;\n }\n }\n if (keyAllowed) {\n if (custom.isDeviceId) {\n returnObj.device_ids = Object.assign(Object.assign({}, returnObj.device_ids), custom.data);\n }\n else {\n returnObj = Object.assign(Object.assign({}, custom.data), returnObj);\n }\n }\n }\n });\n // add the persisted identityLinks\n const persistedIdLinks = getPersistedIdentityLinks();\n if (persistedIdLinks) {\n returnObj.identity_link = {};\n for (const key in persistedIdLinks) {\n let includeKey = true;\n for (const denyIdLinkKey of instance.kochavaConfig.privacy.deny_identity_links) {\n if (denyIdLinkKey === key) {\n Log.debug(`Denied identity_link ${denyIdLinkKey}, dropping from install.`);\n includeKey = false;\n }\n }\n if (includeKey)\n returnObj.identity_link[key] = persistedIdLinks[key];\n }\n }\n return returnObj;\n};\nconst determineInstallUserTime = (instance, currTime) => {\n const firstStartStr = readAndUpdatePersistedValue(PersistKey.FirstStartDate, instance.useCookies);\n if (firstStartStr) {\n const firstStart = JSON.parse(firstStartStr);\n // If its been 30 days since the sdk started\n if ((currTime - firstStart) > 2592000) {\n return currTime;\n }\n return firstStart;\n }\n return currTime;\n};\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../dist/payloads/kvinit.js"],"names":["http","utils","getPackageName","Log","constructPayload","DEFAULTS","PersistKey","updatePersistedValue","timeOut","canceled","build","instance","payload","build_date","buildDate","data","constructKvinitData","debug","JSON","stringify","cancelRetries","clearTimeout","send","retryWaterfall","retries","success","resp","trace","kochavaConfig","networking","urls","init","sendTime","getCurrTimeMS","startTimeMS","diagDebug","formatTime","respStr","sendRequest","overrideUrls","respTime","parse","wasRespSuccess","e","error","info","LastKvinit","useCookies","retryIndex","length","retrySec","Promise","resolve","setTimeout","applyKvinitResp","general","device_id_override","kochavaDeviceId","OverrideDeviceId","app_id_override","appGuid","OverrideAppId","config","init_token","refresh_minimum","undefined","install","resend_id","updates_enabled","retry_waterfall","event","identityLink","privacy","allow_custom_ids","deny_datapoints","deny_event_names","deny_identity_links","currTime","Math","floor","Date","now","uptime","package","platform","starttime","usertime"],"mappings":"AAAA;;;;AAIA,OAAO,KAAKA,IAAZ,MAAsB,SAAtB;AACA,OAAO,KAAKC,KAAZ,MAAuB,gBAAvB;AACA,SAASC,cAAT,QAA+B,oBAA/B;AACA,SAASC,GAAT,QAAoB,cAApB;AACA,SAASC,gBAAT,QAAiC,WAAjC;AACA,SAASC,QAAT,QAAyB,eAAzB;AACA,SAASC,UAAT,EAAqBC,oBAArB,QAAiD,oBAAjD;AACA,IAAIC,OAAJ;AACA,IAAIC,WAAW,KAAf;AACA,MAAMC,QAASC,QAAD,IAAc;AACxB,UAAMC,UAAUR,iBAAiB,MAAjB,EAAyBO,QAAzB,CAAhB;AACAC,YAAQC,UAAR,GAAqBF,SAASG,SAA9B;AACAF,YAAQG,IAAR,GAAeC,oBAAoBL,QAApB,CAAf;AACAR,QAAIc,KAAJ,CAAU,gBAAV,EAA4BC,KAAKC,SAAL,CAAeP,OAAf,CAA5B;AACA,WAAOA,OAAP;AACH,CAND;AAOA,OAAO,MAAMQ,gBAAgB,MAAM;AAC/BX,eAAW,IAAX;AACAY,iBAAab,OAAb;AACH,CAHM;AAIP,OAAO,MAAMc,OAAO,OAAOX,QAAP,EAAiBY,cAAjB,EAAiCC,UAAU,CAA3C,KAAiD;AACjEf,eAAW,KAAX;AACA,UAAMG,UAAUF,MAAMC,QAAN,CAAhB;AACA,QAAIc,UAAU,KAAd;AACA,QAAIC,IAAJ;AACA,OAAG;AACCvB,YAAIwB,KAAJ,CAAU,kBAAV,EAA8BhB,SAASiB,aAAT,CAAuBC,UAAvB,CAAkCC,IAAlC,CAAuCC,IAArE;AACA,cAAMC,WAAW/B,MAAMgC,aAAN,KAAwBtB,SAASuB,WAAlD;AACA/B,YAAIgC,SAAJ,CAAe,qBAAoBlC,MAAMmC,UAAN,CAAiBJ,WAAW,IAA5B,CAAkC,UAArE;AACA,cAAMK,UAAU,MAAMrC,KAAKsC,WAAL,CAAiB1B,OAAjB,EAA2BD,SAAS4B,YAAT,CAAsBR,IAAvB,GAC5CpB,SAAS4B,YAAT,CAAsBR,IADsB,GACfpB,SAASiB,aAAT,CAAuBC,UAAvB,CAAkCC,IAAlC,CAAuCC,IADlD,CAAtB;AAEA,cAAMS,WAAWvC,MAAMgC,aAAN,KAAwBtB,SAASuB,WAAlD;AACA/B,YAAIgC,SAAJ,CAAe,uBAAsBlC,MAAMmC,UAAN,CAAiBI,WAAW,IAA5B,CAAkC;2CACpCvC,MAAMmC,UAAN,CAAiB,CAACI,WAAWR,QAAZ,IAAwB,IAAzC,CAA+C,UADlF;AAEA,YAAIvB,QAAJ,EAAc;AACVN,gBAAIwB,KAAJ,CAAU,yCAAV;AACA,mBAAO,KAAP;AACH;AACD,YAAI;AACAD,mBAAOR,KAAKuB,KAAL,CAAWJ,OAAX,CAAP;AACAlC,gBAAIc,KAAJ,CAAU,kBAAV,EAA8BS,IAA9B;AACAD,sBAAUzB,KAAK0C,cAAL,CAAoBhB,KAAKD,OAAzB,CAAV;AACH,SAJD,CAKA,OAAOkB,CAAP,EAAU;AACNxC,gBAAIyC,KAAJ,CAAU,+BAAV,EAA2CD,CAA3C;AACAlB,sBAAU,KAAV;AACH;AACD,YAAIA,OAAJ,EAAa;AACTtB,gBAAI0C,IAAJ,CAAS,iBAAT;AACAtC,iCAAqBD,WAAWwC,UAAhC,EAA4C5B,KAAKC,SAAL,CAAeO,IAAf,CAA5C,EAAkEf,SAASoC,UAA3E;AACA,mBAAOtB,OAAP;AACH;AACD,YAAI,CAAChB,QAAL,EAAe;AACX;AACA,kBAAMuC,aAAcxB,UAAUD,eAAe0B,MAAf,GAAwB,CAAnC,GAAwC1B,eAAe0B,MAAf,GAAwB,CAAhE,GAAoEzB,OAAvF;AACA,kBAAM0B,WAAW3B,eAAeyB,UAAf,CAAjB;AACA7C,gBAAIyC,KAAJ,CAAW,sCAAqCM,QAAS,UAAzD;AACA,kBAAM,IAAIC,OAAJ,CAAYC,WAAW;AAAE5C,0BAAU6C,WAAWD,OAAX,EAAoBF,WAAW,IAA/B,CAAV;AAAiD,aAA1E,CAAN;AACA1B;AACH;AACJ,KAnCD,QAmCS,CAACC,OAAD,IAAY,CAAChB,QAnCtB;AAoCH,CAzCM;AA0CP,OAAO,MAAM6C,kBAAkB,CAAC3C,QAAD,EAAWe,IAAX,KAAoB;AAC/C,QAAIA,KAAK6B,OAAT,EAAkB;AACd,YAAI7B,KAAK6B,OAAL,CAAaC,kBAAjB,EAAqC;AACjCrD,gBAAIwB,KAAJ,CAAW,wCAAuChB,SAAS8C,eAAgB;UAC7E/B,KAAK6B,OAAL,CAAaC,kBAAmB,EAD9B;AAEA7C,qBAASiB,aAAT,CAAuB2B,OAAvB,CAA+BC,kBAA/B,GAAoD9B,KAAK6B,OAAL,CAAaC,kBAAjE;AACA7C,qBAAS8C,eAAT,GAA2B/B,KAAK6B,OAAL,CAAaC,kBAAxC;AACAjD,iCAAqBD,WAAWoD,gBAAhC,EAAkDhC,KAAK6B,OAAL,CAAaC,kBAA/D,EAAmF7C,SAASoC,UAA5F;AACH;AACD,YAAIrB,KAAK6B,OAAL,CAAaI,eAAjB,EAAkC;AAC9BxD,gBAAIwB,KAAJ,CAAW,qCAAoChB,SAASiD,OAAQ;UAClElC,KAAK6B,OAAL,CAAaI,eAAgB,EAD3B;AAEAhD,qBAASiB,aAAT,CAAuB2B,OAAvB,CAA+BI,eAA/B,GAAiDjC,KAAK6B,OAAL,CAAaI,eAA9D;AACAhD,qBAASiD,OAAT,GAAmBlC,KAAK6B,OAAL,CAAaI,eAAhC;AACApD,iCAAqBD,WAAWuD,aAAhC,EAA+CnC,KAAK6B,OAAL,CAAaI,eAA5D,EAA6EhD,SAASoC,UAAtF;AACH;AACJ;AACD,QAAIrB,KAAKoC,MAAT,EAAiB;AACbnD,iBAASiB,aAAT,CAAuBkC,MAAvB,GAAgC;AAC5BC,wBAAYrC,KAAKoC,MAAL,CAAYC,UAAZ,IAA0B1D,SAASyD,MAAT,CAAgBC,UAD1B;AAE5BC,6BAAkBtC,KAAKoC,MAAL,CAAYE,eAAZ,KAAgCC,SAAhC,IACdvC,KAAKoC,MAAL,CAAYE,eAAZ,KAAgC,IADnB,GAC2BtC,KAAKoC,MAAL,CAAYE,eADvC,GAEb3D,SAASyD,MAAT,CAAgBE;AAJQ,SAAhC;AAMH;AACD,QAAItC,KAAKwC,OAAT,EAAkB;AACd,YAAIxC,KAAKwC,OAAL,CAAaC,SAAjB,EAA4B;AACxBxD,qBAASiB,aAAT,CAAuBsC,OAAvB,CAA+BC,SAA/B,GAA2CzC,KAAKwC,OAAL,CAAaC,SAAxD;AACH;AACDxD,iBAASiB,aAAT,CAAuBsC,OAAvB,CAA+BE,eAA/B,GACI1C,KAAKwC,OAAL,CAAaE,eAAb,IAAgC/D,SAAS6D,OAAT,CAAiBE,eADrD;AAEH;AACD,QAAI1C,KAAKG,UAAT,EAAqB;AACjBlB,iBAASiB,aAAT,CAAuBC,UAAvB,CAAkCwC,eAAlC,GACI3C,KAAKG,UAAL,CAAgBwC,eAAhB,IAAmChE,SAASwB,UAAT,CAAoBwC,eAD3D;AAEA1D,iBAASY,cAAT,GACIZ,SAASiB,aAAT,CAAuBC,UAAvB,CAAkCwC,eADtC;AAEA,YAAI3C,KAAKG,UAAL,CAAgBC,IAApB,EAA0B;AACtBnB,qBAASiB,aAAT,CAAuBC,UAAvB,CAAkCC,IAAlC,GAAyC;AACrCC,sBAAML,KAAKG,UAAL,CAAgBC,IAAhB,CAAqBC,IAArB,IAA6B1B,SAASwB,UAAT,CAAoBC,IAApB,CAAyBC,IADvB;AAErCmC,yBAASxC,KAAKG,UAAL,CAAgBC,IAAhB,CAAqBoC,OAArB,IAAgC7D,SAASwB,UAAT,CAAoBC,IAApB,CAAyBoC,OAF7B;AAGrCI,uBAAO5C,KAAKG,UAAL,CAAgBC,IAAhB,CAAqBwC,KAArB,IAA8BjE,SAASwB,UAAT,CAAoBC,IAApB,CAAyBwC,KAHzB;AAIrCC,8BAAc7C,KAAKG,UAAL,CAAgBC,IAAhB,CAAqByC,YAArB,IAAqClE,SAASwB,UAAT,CAAoBC,IAApB,CAAyByC;AAJvC,aAAzC;AAMH;AACJ;AACD,QAAI7C,KAAK8C,OAAT,EAAkB;AACd7D,iBAASiB,aAAT,CAAuB4C,OAAvB,GAAiC;AAC7BC,8BAAkB/C,KAAK8C,OAAL,CAAaC,gBAAb,IAAiCpE,SAASmE,OAAT,CAAiBC,gBADvC;AAE7BC,6BAAiBhD,KAAK8C,OAAL,CAAaE,eAAb,IAAgCrE,SAASmE,OAAT,CAAiBE,eAFrC;AAG7BC,8BAAkBjD,KAAK8C,OAAL,CAAaG,gBAAb,IAAiCtE,SAASmE,OAAT,CAAiBG,gBAHvC;AAI7BC,iCAAqBlD,KAAK8C,OAAL,CAAaI,mBAAb,IAAoCvE,SAASmE,OAAT,CAAiBI;AAJ7C,SAAjC;AAMH;AACJ,CAtDM;AAuDP,MAAM5D,sBAAuBL,QAAD,IAAc;AACtC,UAAMkE,WAAWC,KAAKC,KAAL,CAAWC,KAAKC,GAAL,KAAa,IAAxB,CAAjB;AACA,QAAIC,SAAS,CAACL,WAAWlE,SAASuB,WAArB,IAAoC,IAAjD;AACA,QAAIgD,SAAS,GAAb,EACIA,SAAS,GAAT;AACJ,WAAO;AACHC,iBAASjF,gBADN;AAEHkF,kBAAU,KAFP;AAGHC,mBAAW1E,SAASuB,WAAT,GAAuB,IAH/B;AAIHgD,cAJG;AAKHI,kBAAUT;AALP,KAAP;AAOH,CAZD","file":"kvinit.js","sourcesContent":["/*\n Authored by Brett Barinaga on 11/17/21.\n Copyright (c) Kochava, Inc. All rights reserved.\n*/\nimport * as http from \"../http\";\nimport * as utils from \"../utils/utils\";\nimport { getPackageName } from \"../browser/browser\";\nimport { Log } from \"../utils/log\";\nimport { constructPayload } from \"./payload\";\nimport { DEFAULTS } from \"../interfaces\";\nimport { PersistKey, updatePersistedValue } from \"../browser/persist\";\nlet timeOut;\nlet canceled = false;\nconst build = (instance) => {\n const payload = constructPayload(\"init\", instance);\n payload.build_date = instance.buildDate;\n payload.data = constructKvinitData(instance);\n Log.debug(\"Kvinit Payload\", JSON.stringify(payload));\n return payload;\n};\nexport const cancelRetries = () => {\n canceled = true;\n clearTimeout(timeOut);\n};\nexport const send = async (instance, retryWaterfall, retries = 0) => {\n canceled = false;\n const payload = build(instance);\n let success = false;\n let resp;\n do {\n Log.trace(\"Kvinit endpoint:\", instance.kochavaConfig.networking.urls.init);\n const sendTime = utils.getCurrTimeMS() - instance.startTimeMS;\n Log.diagDebug(`Sending kvinit at ${utils.formatTime(sendTime / 1000)} seconds`);\n const respStr = await http.sendRequest(payload, (instance.overrideUrls.init) ?\n instance.overrideUrls.init : instance.kochavaConfig.networking.urls.init);\n const respTime = utils.getCurrTimeMS() - instance.startTimeMS;\n Log.diagDebug(`Completed kvinit at ${utils.formatTime(respTime / 1000)}\n seconds with a network duration of ${utils.formatTime((respTime - sendTime) / 1000)} seconds`);\n if (canceled) {\n Log.trace(\"Can no longer retry kvinit, cancelling.\");\n return false;\n }\n try {\n resp = JSON.parse(respStr);\n Log.debug(\"Kvinit Response:\", resp);\n success = http.wasRespSuccess(resp.success);\n }\n catch (e) {\n Log.error(\"Error parsing Kvinit Response\", e);\n success = false;\n }\n if (success) {\n Log.info(\"Kvinit success!\");\n updatePersistedValue(PersistKey.LastKvinit, JSON.stringify(resp), instance.useCookies);\n return success;\n }\n if (!canceled) {\n // retry kvinit\n const retryIndex = (retries > retryWaterfall.length - 1) ? retryWaterfall.length - 1 : retries;\n const retrySec = retryWaterfall[retryIndex];\n Log.error(`Kvinit failed, attempting again in ${retrySec} seconds`);\n await new Promise(resolve => { timeOut = setTimeout(resolve, retrySec * 1000); });\n retries++;\n }\n } while (!success && !canceled);\n};\nexport const applyKvinitResp = (instance, resp) => {\n if (resp.general) {\n if (resp.general.device_id_override) {\n Log.trace(`Device_id override found, going from ${instance.kochavaDeviceId} to\n ${resp.general.device_id_override}`);\n instance.kochavaConfig.general.device_id_override = resp.general.device_id_override;\n instance.kochavaDeviceId = resp.general.device_id_override;\n updatePersistedValue(PersistKey.OverrideDeviceId, resp.general.device_id_override, instance.useCookies);\n }\n if (resp.general.app_id_override) {\n Log.trace(`App_id override found, going from ${instance.appGuid} to\n ${resp.general.app_id_override}`);\n instance.kochavaConfig.general.app_id_override = resp.general.app_id_override;\n instance.appGuid = resp.general.app_id_override;\n updatePersistedValue(PersistKey.OverrideAppId, resp.general.app_id_override, instance.useCookies);\n }\n }\n if (resp.config) {\n instance.kochavaConfig.config = {\n init_token: resp.config.init_token || DEFAULTS.config.init_token,\n refresh_minimum: (resp.config.refresh_minimum !== undefined &&\n resp.config.refresh_minimum !== null) ? resp.config.refresh_minimum :\n DEFAULTS.config.refresh_minimum,\n };\n }\n if (resp.install) {\n if (resp.install.resend_id) {\n instance.kochavaConfig.install.resend_id = resp.install.resend_id;\n }\n instance.kochavaConfig.install.updates_enabled =\n resp.install.updates_enabled || DEFAULTS.install.updates_enabled;\n }\n if (resp.networking) {\n instance.kochavaConfig.networking.retry_waterfall =\n resp.networking.retry_waterfall || DEFAULTS.networking.retry_waterfall;\n instance.retryWaterfall =\n instance.kochavaConfig.networking.retry_waterfall;\n if (resp.networking.urls) {\n instance.kochavaConfig.networking.urls = {\n init: resp.networking.urls.init || DEFAULTS.networking.urls.init,\n install: resp.networking.urls.install || DEFAULTS.networking.urls.install,\n event: resp.networking.urls.event || DEFAULTS.networking.urls.event,\n identityLink: resp.networking.urls.identityLink || DEFAULTS.networking.urls.identityLink,\n };\n }\n }\n if (resp.privacy) {\n instance.kochavaConfig.privacy = {\n allow_custom_ids: resp.privacy.allow_custom_ids || DEFAULTS.privacy.allow_custom_ids,\n deny_datapoints: resp.privacy.deny_datapoints || DEFAULTS.privacy.deny_datapoints,\n deny_event_names: resp.privacy.deny_event_names || DEFAULTS.privacy.deny_event_names,\n deny_identity_links: resp.privacy.deny_identity_links || DEFAULTS.privacy.deny_identity_links,\n };\n }\n};\nconst constructKvinitData = (instance) => {\n const currTime = Math.floor(Date.now() / 1000);\n let uptime = (currTime - instance.startTimeMS) / 1000;\n if (uptime < 0.0)\n uptime = 0.0;\n return {\n package: getPackageName(),\n platform: \"web\",\n starttime: instance.startTimeMS / 1000,\n uptime,\n usertime: currTime,\n };\n};\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../dist/payloads/payload.js"],"names":["utils","Log","constructPayload","action","instance","originalNtId","nt_id","kochavaSession","kochavaSessionCount","uuidv4","debug","kochava_app_id","appGuid","kochava_device_id","kochavaDeviceId","sdk_version","version","sdk_protocol","init_token","kochavaConfig","config","undefined","constructCommonData","currTime","getCurrTimeMS","uptime","startTimeMS","starttime","usertime"],"mappings":"AAAA;;;;AAIA,OAAO,KAAKA,KAAZ,MAAuB,gBAAvB;AACA,SAASC,GAAT,QAAoB,cAApB;AACA,OAAO,MAAMC,mBAAmB,CAACC,MAAD,EAASC,QAAT,EAAmBC,YAAnB,KAAoC;AAChE,QAAIC,QAAS,GAAEF,SAASG,cAAe,IAAGH,SAASI,mBAAoB,IAAGR,MAAMS,MAAN,EAAe,EAAzF;AACA,QAAIJ,YAAJ,EAAkB;AACdJ,YAAIS,KAAJ,CAAU,kCAAV,EAA8CL,YAA9C;AACAC,gBAAQD,YAAR;AACH;AACD,WAAO;AACHF,gBAAQA,MADL;AAEHQ,wBAAgBP,SAASQ,OAFtB;AAGHC,2BAAmBT,SAASU,eAHzB;AAIHC,qBAAaX,SAASY,OAJnB;AAKHC,sBAAc,IALX;AAMHX,eAAOA,KANJ;AAOHY,oBAAad,SAASe,aAAT,CAAuBC,MAAvB,CAA8BF,UAA/B,IAA8CG;AAPvD,KAAP;AASH,CAfM;AAgBP,OAAO,MAAMC,sBAAuBlB,QAAD,IAAc;AAC7C,UAAMmB,WAAWvB,MAAMwB,aAAN,EAAjB;AACA,QAAIC,SAAS,CAACF,WAAWnB,SAASsB,WAArB,IAAoC,IAAjD;AACA,QAAID,SAAS,GAAb,EACIA,SAAS,GAAT;AACJ,WAAO;AACHE,mBAAWvB,SAASsB,WAAT,GAAuB,IAD/B;AAEHD,gBAAQA,MAFL;AAGHG,kBAAUL,WAAW;AAHlB,KAAP;AAKH,CAVM","file":"payload.js","sourcesContent":["/*\n Authored by Brett Barinaga on 11/17/21.\n Copyright (c) Kochava, Inc. All rights reserved.\n*/\nimport * as utils from \"../utils/utils\";\nimport { Log } from \"../utils/log\";\nexport const constructPayload = (action, instance, originalNtId) => {\n let nt_id = `${instance.kochavaSession}-${instance.kochavaSessionCount}-${utils.uuidv4()}`;\n if (originalNtId) {\n Log.debug(\"Persisted call found with nt_id:\", originalNtId);\n nt_id = originalNtId;\n }\n return {\n action: action,\n kochava_app_id: instance.appGuid,\n kochava_device_id: instance.kochavaDeviceId,\n sdk_version: instance.version,\n sdk_protocol: \"17\",\n nt_id: nt_id,\n init_token: (instance.kochavaConfig.config.init_token) || undefined,\n };\n};\nexport const constructCommonData = (instance) => {\n const currTime = utils.getCurrTimeMS();\n let uptime = (currTime - instance.startTimeMS) / 1000;\n if (uptime < 0.0)\n uptime = 0.0;\n return {\n starttime: instance.startTimeMS / 1000,\n uptime: uptime,\n usertime: currTime / 1000,\n };\n};\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../dist/utils/log.js"],"names":["getMsTime","Level","Logger","constructor","instance","levelPrio","Off","Error","Warn","Info","Debug","Trace","currLevel","logObjects","logsFilteredOut","Diag","setLogLevel","input","levelStr","toUpperCase","substring","toLowerCase","key","level","undefined","console","log","getLogLevel","toString","setLogObjects","enable","disableLogType","error","msg","args","print","warn","info","debug","trace","diagInfo","diagDebug","lvl","obj","JSON","parse","_a","Log"],"mappings":"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","file":"log.js","sourcesContent":["/*\n Authored by Brett Barinaga on 11/17/21.\n Copyright (c) Kochava, Inc. All rights reserved.\n*/\nimport { getMsTime } from \"./utils\";\nvar Level;\n(function (Level) {\n Level[\"Off\"] = \"Off\";\n Level[\"Error\"] = \"Error\";\n Level[\"Warn\"] = \"Warn\";\n Level[\"Info\"] = \"Info\";\n Level[\"Debug\"] = \"Debug\";\n Level[\"Trace\"] = \"Trace\";\n})(Level || (Level = {}));\nclass Logger {\n constructor() {\n if (Logger.instance)\n return;\n this.levelPrio = {\n Off: 0,\n Error: 1,\n Warn: 2,\n Info: 3,\n Debug: 4,\n Trace: 5,\n };\n this.currLevel = Level.Info;\n this.logObjects = false;\n this.logsFilteredOut = {\n Off: false,\n Error: false,\n Warn: false,\n Info: false,\n Debug: false,\n Trace: false,\n Diag: false,\n };\n Logger.instance = this;\n }\n setLogLevel(input) {\n const levelStr = input[0].toUpperCase() + input.substring(1).toLowerCase();\n const key = levelStr;\n const level = Level[key];\n if (level !== undefined && level !== null) {\n this.currLevel = level;\n }\n else {\n console.log(`Invalid logLevel ${level} passed in, defaulting to info.`);\n this.currLevel = Level.Info;\n }\n }\n getLogLevel() {\n return this.currLevel.toString();\n }\n setLogObjects(enable) {\n this.logObjects = enable;\n }\n disableLogType(input) {\n const levelStr = input[0].toUpperCase() + input.substring(1).toLowerCase();\n const key = levelStr;\n this.logsFilteredOut[key] = true;\n }\n error(msg, ...args) {\n this.print(Level.Error, msg, ...args);\n }\n warn(msg, ...args) {\n this.print(Level.Warn, msg, ...args);\n }\n info(msg, ...args) {\n this.print(Level.Info, msg, ...args);\n }\n debug(msg, ...args) {\n this.print(Level.Debug, msg, ...args);\n }\n trace(msg, ...args) {\n this.print(Level.Trace, msg, ...args);\n }\n diagInfo(msg, ...args) {\n if (!this.logsFilteredOut.Diag)\n this.print(Level.Info, \"Kochava Diagnostic - \" + msg, ...args);\n }\n diagDebug(msg, ...args) {\n if (!this.logsFilteredOut.Diag)\n this.print(Level.Debug, \"Kochava Diagnostic - \" + msg, ...args);\n }\n print(lvl, msg, ...args) {\n if (this.levelPrio[this.currLevel.toString()] >= this.levelPrio[lvl.toString()] &&\n !this.logsFilteredOut[lvl.toString()]) {\n try {\n const obj = JSON.parse(args[0]);\n if (this.logObjects && obj) {\n console.log(`KVA :: ${getMsTime()} ${lvl.toString()}:`, msg, obj);\n }\n else {\n console.log(`KVA :: ${getMsTime()} ${lvl.toString()}:`, msg, ...args);\n }\n }\n catch (_a) {\n console.log(`KVA :: ${getMsTime()} ${lvl.toString()}:`, msg, ...args);\n }\n }\n }\n}\nexport const Log = new Logger();\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../dist/utils/utils.js"],"names":["uuidv4","replace","c","crypto","getRandomValues","Uint8Array","toString","getCurrTimeMS","Math","floor","Date","now","getCurrTimeSec","formatTime","num","toFixed","getMsTime","date","getHours","getMinutes","getSeconds","getMilliseconds"],"mappings":"AAAA;;;;AAIA,OAAO,MAAMA,SAAS,MAAM;AACxB,WAAS,GAAE,GAAI,IAAG,GAAI,IAAG,GAAI,IAAG,GAAI,IAAG,IAAK,EAArC,CAAwCC,OAAxC,CAAgD,QAAhD,EAA2DC,CAAD,IAAO,CAACA,IAAIC,OAAOC,eAAP,CAAuB,IAAIC,UAAJ,CAAe,CAAf,CAAvB,EAA0C,CAA1C,IAA+C,MAAMH,IAAI,CAA9D,EAAiEI,QAAjE,CAA0E,EAA1E,CAAjE,CAAP;AACH,CAFM;AAGP;AACA,OAAO,MAAMC,gBAAgB,MAAMC,KAAKC,KAAL,CAAWC,KAAKC,GAAL,EAAX,CAA5B;AACP;AACA,OAAO,MAAMC,iBAAiB,MAAMJ,KAAKC,KAAL,CAAWC,KAAKC,GAAL,KAAa,IAAxB,CAA7B;AACP,OAAO,MAAME,aAAcC,GAAD,IAAS;AAC/B,QAAIA,MAAM,EAAN,IAAYA,MAAM,EAAN,IAAY,CAA5B,EACI,OAAO,MAAMA,IAAIC,OAAJ,CAAY,CAAZ,EAAeT,QAAf,EAAb,CADJ,KAGI,OAAOQ,IAAIC,OAAJ,CAAY,CAAZ,EAAeT,QAAf,EAAP;AACP,CALM;AAMP,OAAO,MAAMU,YAAY,MAAM;AAC3B,UAAMC,OAAO,IAAIP,IAAJ,EAAb;AACA,WAAQ,GAAEO,KAAKC,QAAL,EAAgB,IAAGD,KAAKE,UAAL,EAAkB,IAAGF,KAAKG,UAAL,EAAkB,IAAGH,KAAKI,eAAL,EAAuB,EAA9F;AACH,CAHM","file":"utils.js","sourcesContent":["/*\n Authored by Brett Barinaga on 11/17/21.\n Copyright (c) Kochava, Inc. All rights reserved.\n*/\nexport const uuidv4 = () => {\n return (`${1e7}-${1e3}-${4e3}-${8e3}-${1e11}`).replace(/[018]/g, (c) => (c ^ crypto.getRandomValues(new Uint8Array(1))[0] & 15 >> c / 4).toString(16));\n};\n// returns the number of milliseconds elapsed since January 1, 1970 \nexport const getCurrTimeMS = () => Math.floor(Date.now());\n// returns the number of seconds elapsed since January 1, 1970 \nexport const getCurrTimeSec = () => Math.floor(Date.now() / 1000);\nexport const formatTime = (num) => {\n if (num < 10 && num % 10 <= 9)\n return \"0\" + num.toFixed(1).toString();\n else\n return num.toFixed(1).toString();\n};\nexport const getMsTime = () => {\n const date = new Date();\n return `${date.getHours()}:${date.getMinutes()}:${date.getSeconds()}:${date.getMilliseconds()}`;\n};\n"]}