@cuemath/web-utils 1.0.2 → 1.0.3-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/constants/date-time/index.d.ts +1 -1
- package/dist/constants/date-time/index.js +2 -2
- package/dist/constants/date-time/index.js.map +1 -1
- package/dist/date-time-helper/e-cna/index.d.ts +4 -0
- package/dist/date-time-helper/e-cna/index.js +40 -0
- package/dist/date-time-helper/e-cna/index.js.map +1 -0
- package/dist/e-cna/index.d.ts +1 -0
- package/dist/e-cna/index.js +11 -0
- package/dist/e-cna/index.js.map +1 -0
- package/dist/growth-source/index.js +32 -13
- package/dist/growth-source/index.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/object/index.d.ts +0 -5
- package/dist/object/index.js +1 -17
- package/dist/object/index.js.map +1 -1
- package/dist/url/index.d.ts +3 -0
- package/dist/url/index.js +20 -0
- package/dist/url/index.js.map +1 -0
- package/package.json +1 -1
- package/src/constants/date-time/index.ts +1 -1
- package/src/date-time-helper/e-cna/index.ts +44 -0
- package/src/e-cna/index.ts +8 -0
- package/src/growth-source/index.ts +35 -16
- package/src/index.ts +2 -0
- package/src/object/index.ts +0 -22
- package/src/url/index.ts +19 -0
|
@@ -8,7 +8,7 @@ export declare const DAY: {
|
|
|
8
8
|
Sat: string;
|
|
9
9
|
};
|
|
10
10
|
export declare const shorthandWeekDayArray: string[];
|
|
11
|
-
export declare const
|
|
11
|
+
export declare const MONTH_ARRAY: string[];
|
|
12
12
|
export declare const weekDayArray: string[];
|
|
13
13
|
export declare const TWENTY_FOUR_HOURS_IN_SECONDS: number;
|
|
14
14
|
export declare const HOUR_FORMAT: {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.HOUR_FORMAT = exports.TWENTY_FOUR_HOURS_IN_SECONDS = exports.weekDayArray = exports.
|
|
3
|
+
exports.HOUR_FORMAT = exports.TWENTY_FOUR_HOURS_IN_SECONDS = exports.weekDayArray = exports.MONTH_ARRAY = exports.shorthandWeekDayArray = exports.DAY = void 0;
|
|
4
4
|
exports.DAY = {
|
|
5
5
|
Sun: 'Sunday',
|
|
6
6
|
Mon: 'Monday',
|
|
@@ -11,7 +11,7 @@ exports.DAY = {
|
|
|
11
11
|
Sat: 'Saturday',
|
|
12
12
|
};
|
|
13
13
|
exports.shorthandWeekDayArray = ['Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa', 'Su'];
|
|
14
|
-
exports.
|
|
14
|
+
exports.MONTH_ARRAY = [
|
|
15
15
|
'Jan',
|
|
16
16
|
'Feb',
|
|
17
17
|
'Mar',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/constants/date-time/index.ts"],"names":[],"mappings":";;;AAAa,QAAA,GAAG,GAAG;IACjB,GAAG,EAAE,QAAQ;IACb,GAAG,EAAE,QAAQ;IACb,GAAG,EAAE,SAAS;IACd,GAAG,EAAE,WAAW;IAChB,GAAG,EAAE,UAAU;IACf,GAAG,EAAE,QAAQ;IACb,GAAG,EAAE,UAAU;CAChB,CAAC;AAEW,QAAA,qBAAqB,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAEnE,QAAA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/constants/date-time/index.ts"],"names":[],"mappings":";;;AAAa,QAAA,GAAG,GAAG;IACjB,GAAG,EAAE,QAAQ;IACb,GAAG,EAAE,QAAQ;IACb,GAAG,EAAE,SAAS;IACd,GAAG,EAAE,WAAW;IAChB,GAAG,EAAE,UAAU;IACf,GAAG,EAAE,QAAQ;IACb,GAAG,EAAE,UAAU;CAChB,CAAC;AAEW,QAAA,qBAAqB,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAEnE,QAAA,WAAW,GAAG;IACzB,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;CACN,CAAC;AAEW,QAAA,YAAY,GAAa;IACpC,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,WAAW;IACX,UAAU;IACV,QAAQ;IACR,UAAU;CACX,CAAC;AAEW,QAAA,4BAA4B,GAAW,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,QAAQ;AAE7D,QAAA,WAAW,GAAG;IACzB,kBAAkB,EAAE,EAAE;IACtB,uBAAuB,EAAE,EAAE;CAC5B,CAAC"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getDates = void 0;
|
|
4
|
+
const index_1 = require("../../constants/country/index");
|
|
5
|
+
const date_time_1 = require("../../constants/date-time");
|
|
6
|
+
const index_2 = require("../index");
|
|
7
|
+
const getDates = (timezone, platform, country) => {
|
|
8
|
+
const currentDate = Date.parse((0, index_2.getCurrentDatebyTimezone)(timezone)) / 1000;
|
|
9
|
+
const dates = [];
|
|
10
|
+
let days = 7;
|
|
11
|
+
let buffer = 1;
|
|
12
|
+
switch (platform) {
|
|
13
|
+
case 'astro':
|
|
14
|
+
if (country === index_1.ISO_COUNTRY_CODE.INDIA) {
|
|
15
|
+
days = 10;
|
|
16
|
+
buffer = 2;
|
|
17
|
+
}
|
|
18
|
+
break;
|
|
19
|
+
case 'website':
|
|
20
|
+
if (country === index_1.ISO_COUNTRY_CODE.INDIA) {
|
|
21
|
+
days = 10;
|
|
22
|
+
buffer = 2;
|
|
23
|
+
}
|
|
24
|
+
break;
|
|
25
|
+
default:
|
|
26
|
+
days = 7;
|
|
27
|
+
buffer = 1;
|
|
28
|
+
break;
|
|
29
|
+
}
|
|
30
|
+
// getting dates by adding 86400 seconds(24 hours)
|
|
31
|
+
for (let i = 0; i < days; i += 1) {
|
|
32
|
+
dates.push({
|
|
33
|
+
futureDate: currentDate + date_time_1.TWENTY_FOUR_HOURS_IN_SECONDS * i,
|
|
34
|
+
disabled: !(i > buffer),
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
return dates;
|
|
38
|
+
};
|
|
39
|
+
exports.getDates = getDates;
|
|
40
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/date-time-helper/e-cna/index.ts"],"names":[],"mappings":";;;AAAA,yDAAiE;AACjE,yDAAyE;AACzE,oCAAoD;AAE7C,MAAM,QAAQ,GAAG,CACtB,QAAgB,EAChB,QAAgB,EAChB,OAAe,EACmC,EAAE;IACpD,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAA,gCAAwB,EAAC,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC;IAC1E,MAAM,KAAK,GAAG,EAAE,CAAC;IAEjB,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,IAAI,MAAM,GAAG,CAAC,CAAC;IAEf,QAAQ,QAAQ,EAAE;QAChB,KAAK,OAAO;YACV,IAAI,OAAO,KAAK,wBAAgB,CAAC,KAAK,EAAE;gBACtC,IAAI,GAAG,EAAE,CAAC;gBACV,MAAM,GAAG,CAAC,CAAC;aACZ;YACD,MAAM;QACR,KAAK,SAAS;YACZ,IAAI,OAAO,KAAK,wBAAgB,CAAC,KAAK,EAAE;gBACtC,IAAI,GAAG,EAAE,CAAC;gBACV,MAAM,GAAG,CAAC,CAAC;aACZ;YACD,MAAM;QACR;YACE,IAAI,GAAG,CAAC,CAAC;YACT,MAAM,GAAG,CAAC,CAAC;YACX,MAAM;KACT;IAED,kDAAkD;IAClD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE;QAChC,KAAK,CAAC,IAAI,CAAC;YACT,UAAU,EAAE,WAAW,GAAG,wCAA4B,GAAG,CAAC;YAC1D,QAAQ,EAAE,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC;SACxB,CAAC,CAAC;KACJ;IAED,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAvCW,QAAA,QAAQ,YAuCnB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const showLaptopQuestion: () => boolean;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.showLaptopQuestion = void 0;
|
|
4
|
+
const iso_country_code_1 = require("../constants/country/iso-country-code");
|
|
5
|
+
const cookie_1 = require("../cookie");
|
|
6
|
+
const showLaptopQuestion = () => {
|
|
7
|
+
const cueCountryCode = (0, cookie_1.getCookie)('cue_country_code');
|
|
8
|
+
return cueCountryCode === iso_country_code_1.COUNTRY_NAME_COUNTRY_CODE_MAP.INDIA;
|
|
9
|
+
};
|
|
10
|
+
exports.showLaptopQuestion = showLaptopQuestion;
|
|
11
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/e-cna/index.ts"],"names":[],"mappings":";;;AAAA,4EAA0G;AAC1G,sCAAsC;AAE/B,MAAM,kBAAkB,GAAG,GAAG,EAAE;IACrC,MAAM,cAAc,GAAG,IAAA,kBAAS,EAAC,kBAAkB,CAAC,CAAC;IAErD,OAAO,cAAc,KAAK,gDAAgB,CAAC,KAAK,CAAC;AACnD,CAAC,CAAC;AAJW,QAAA,kBAAkB,sBAI7B"}
|
|
@@ -15,7 +15,7 @@ const readSourceCookie = () => {
|
|
|
15
15
|
};
|
|
16
16
|
exports.readSourceCookie = readSourceCookie;
|
|
17
17
|
const writeSourceCookie = (sourceDetails) => {
|
|
18
|
-
(0, cookie_1.createCookie)(SOURCE_DETAILS_COOKIE, JSON.stringify(sourceDetails), 365
|
|
18
|
+
(0, cookie_1.createCookie)(SOURCE_DETAILS_COOKIE, JSON.stringify(sourceDetails), 365);
|
|
19
19
|
};
|
|
20
20
|
const isSourcePresent = () => {
|
|
21
21
|
return !!(0, cookie_1.getCookie)(SOURCE_DETAILS_COOKIE);
|
|
@@ -31,7 +31,7 @@ const updateSourceCookie = (sourceDetail) => {
|
|
|
31
31
|
};
|
|
32
32
|
writeSourceCookie(updatedDetails);
|
|
33
33
|
};
|
|
34
|
-
const getRevenueChannel = (platform,
|
|
34
|
+
const getRevenueChannel = (platform, utmSource) => {
|
|
35
35
|
let revenueChannel = 'unknown';
|
|
36
36
|
// set defaults for WEBSITE and ASTRO
|
|
37
37
|
if (platform === 'website') {
|
|
@@ -40,8 +40,7 @@ const getRevenueChannel = (platform, utmParams) => {
|
|
|
40
40
|
else if (platform === 'astro') {
|
|
41
41
|
revenueChannel = 'performance';
|
|
42
42
|
}
|
|
43
|
-
if (
|
|
44
|
-
const { utm_source: utmSource = '' } = utmParams;
|
|
43
|
+
if (utmSource) {
|
|
45
44
|
switch (true) {
|
|
46
45
|
case /^affiliate-/.test(utmSource):
|
|
47
46
|
revenueChannel = 'affiliate';
|
|
@@ -77,7 +76,7 @@ const getFlow = (platform, experiments) => {
|
|
|
77
76
|
};
|
|
78
77
|
const getUTMParams = () => {
|
|
79
78
|
if (typeof window === undefined)
|
|
80
|
-
return;
|
|
79
|
+
return {};
|
|
81
80
|
const search = new URLSearchParams(window.location.search);
|
|
82
81
|
const utmParams = UTM_PARAMS.reduce((acc, param) => {
|
|
83
82
|
const utmParam = search.get(param);
|
|
@@ -99,21 +98,21 @@ const getFirstPage = () => {
|
|
|
99
98
|
organic-<channel>
|
|
100
99
|
offline-<channel>
|
|
101
100
|
*/
|
|
102
|
-
const getChannel = (
|
|
101
|
+
const getChannel = (utmSource) => {
|
|
103
102
|
// TODO: UTM source patter for FB, GOOGLE...
|
|
104
|
-
if (!
|
|
103
|
+
if (!utmSource)
|
|
105
104
|
return '';
|
|
106
|
-
const { utm_source: utmSource = '' } = utmParams;
|
|
107
105
|
return utmSource.split('-')[1];
|
|
108
106
|
};
|
|
109
107
|
/*
|
|
110
108
|
Set Static Source Details of user on Visit of Platform
|
|
111
109
|
*/
|
|
112
110
|
const initSourceDetails = async ({ platform, experiments, flow, affiliateChannel, offlineChannel, organicChannel, performanceChannel, revenueChannel, }) => {
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
111
|
+
const utmParams = getUTMParams();
|
|
112
|
+
const { utm_source: utmSource } = utmParams;
|
|
113
|
+
const leadChannel = getChannel(utmSource);
|
|
114
|
+
revenueChannel = revenueChannel || getRevenueChannel(platform, utmSource);
|
|
115
|
+
if (utmSource) {
|
|
117
116
|
affiliateChannel =
|
|
118
117
|
revenueChannel === 'affiliate' ? affiliateChannel || leadChannel : undefined;
|
|
119
118
|
offlineChannel =
|
|
@@ -122,10 +121,12 @@ const initSourceDetails = async ({ platform, experiments, flow, affiliateChannel
|
|
|
122
121
|
revenueChannel === 'organic' ? organicChannel || leadChannel : undefined;
|
|
123
122
|
performanceChannel =
|
|
124
123
|
revenueChannel === 'performance' ? performanceChannel || leadChannel : undefined;
|
|
124
|
+
}
|
|
125
|
+
if (!(0, exports.isSourcePresent)()) {
|
|
125
126
|
const sourceDetails = {
|
|
126
127
|
platform_channel: platform,
|
|
127
128
|
experiment_dict: experiments,
|
|
128
|
-
utm_params:
|
|
129
|
+
utm_params: utmParams,
|
|
129
130
|
flow: flow || getFlow(platform, experiments),
|
|
130
131
|
affiliate_channel: affiliateChannel,
|
|
131
132
|
offline_channel: offlineChannel,
|
|
@@ -136,6 +137,24 @@ const initSourceDetails = async ({ platform, experiments, flow, affiliateChannel
|
|
|
136
137
|
};
|
|
137
138
|
writeSourceCookie(sourceDetails);
|
|
138
139
|
}
|
|
140
|
+
else {
|
|
141
|
+
let updatedSource = {
|
|
142
|
+
experiment_dict: experiments,
|
|
143
|
+
flow: flow || getFlow(platform, experiments),
|
|
144
|
+
};
|
|
145
|
+
if (utmSource) {
|
|
146
|
+
updatedSource = {
|
|
147
|
+
...updatedSource,
|
|
148
|
+
utm_params: utmParams,
|
|
149
|
+
affiliate_channel: affiliateChannel,
|
|
150
|
+
offline_channel: offlineChannel,
|
|
151
|
+
organic_channel: organicChannel,
|
|
152
|
+
performance_channel: performanceChannel,
|
|
153
|
+
revenue_channel: revenueChannel,
|
|
154
|
+
};
|
|
155
|
+
}
|
|
156
|
+
updateSourceCookie(updatedSource);
|
|
157
|
+
}
|
|
139
158
|
};
|
|
140
159
|
exports.initSourceDetails = initSourceDetails;
|
|
141
160
|
// Last Page which user visited signup before
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/growth-source/index.ts"],"names":[],"mappings":";;;AAWA,sCAAoD;AAEpD,MAAM,qBAAqB,GAAG,gBAAgB,CAAC;AAC/C,MAAM,UAAU,GAAoB;IAClC,YAAY;IACZ,YAAY;IACZ,cAAc;IACd,UAAU;CACX,CAAC;AAEK,MAAM,gBAAgB,GAAG,GAAwB,EAAE;IACxD,MAAM,aAAa,GAAG,IAAA,kBAAS,EAAC,qBAAqB,CAAC,CAAC;IAEvD,OAAO,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACnF,CAAC,CAAC;AAJW,QAAA,gBAAgB,oBAI3B;AAEF,MAAM,iBAAiB,GAAG,CAAC,aAAkC,EAAQ,EAAE;IACrE,IAAA,qBAAY,EAAC,qBAAqB,EAAE,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,EAAE,GAAG,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/growth-source/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
package/dist/index.js
CHANGED
|
@@ -20,4 +20,6 @@ __exportStar(require("./local-storage"), exports);
|
|
|
20
20
|
__exportStar(require("./date-time-helper"), exports);
|
|
21
21
|
__exportStar(require("./object"), exports);
|
|
22
22
|
__exportStar(require("./growth-source"), exports);
|
|
23
|
+
__exportStar(require("./url"), exports);
|
|
24
|
+
__exportStar(require("./e-cna"), exports);
|
|
23
25
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyB;AACzB,8CAA4B;AAC5B,kDAAgC;AAChC,qDAAmC;AACnC,2CAAyB;AACzB,kDAAgC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyB;AACzB,8CAA4B;AAC5B,kDAAgC;AAChC,qDAAmC;AACnC,2CAAyB;AACzB,kDAAgC;AAChC,wCAAsB;AACtB,0CAAwB"}
|
package/dist/object/index.d.ts
CHANGED
package/dist/object/index.js
CHANGED
|
@@ -1,26 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.nestedMapsAreEqual = exports.
|
|
3
|
+
exports.nestedMapsAreEqual = exports.isEmpty = void 0;
|
|
4
4
|
function isEmpty(obj) {
|
|
5
5
|
return Object.keys(obj).length === 0;
|
|
6
6
|
}
|
|
7
7
|
exports.isEmpty = isEmpty;
|
|
8
|
-
// In this case both object have same key names Don't use to compare objects
|
|
9
|
-
function isMapEqual(map1, map2) {
|
|
10
|
-
const map1Keys = Object.keys(map1);
|
|
11
|
-
const map2Keys = Object.keys(map2);
|
|
12
|
-
if (map1Keys.length !== map2Keys.length) {
|
|
13
|
-
return false;
|
|
14
|
-
}
|
|
15
|
-
for (let i = 0; i < map1Keys.length; i += 1) {
|
|
16
|
-
const key = map1Keys[i];
|
|
17
|
-
if (map1[key] !== map2[key]) {
|
|
18
|
-
return false;
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
return true;
|
|
22
|
-
}
|
|
23
|
-
exports.isMapEqual = isMapEqual;
|
|
24
8
|
function nestedMapsAreEqual(map1, map2) {
|
|
25
9
|
// First, check if the maps have the same size
|
|
26
10
|
if (map1.size !== map2.size) {
|
package/dist/object/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/object/index.ts"],"names":[],"mappings":";;;AAAA,SAAgB,OAAO,CAAC,GAAW;IACjC,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC;AACvC,CAAC;AAFD,0BAEC;AAED,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/object/index.ts"],"names":[],"mappings":";;;AAAA,SAAgB,OAAO,CAAC,GAAW;IACjC,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC;AACvC,CAAC;AAFD,0BAEC;AAED,SAAgB,kBAAkB,CAAC,IAAmB,EAAE,IAAmB;IACzE,8CAA8C;IAC9C,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,EAAE;QAC3B,OAAO,KAAK,CAAC;KACd;IAED,8GAA8G;IAC9G,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,IAAI,EAAE;QAC/B,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,KAAK,EAAE;YAC7C,kGAAkG;YAClG,OAAO,KAAK,CAAC;SACd;KACF;IAED,0DAA0D;IAC1D,OAAO,IAAI,CAAC;AACd,CAAC;AAhBD,gDAgBC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getOrigin = exports.getQueryField = exports.getUrlWithoutHash = void 0;
|
|
4
|
+
const getUrlWithoutHash = (asPath) => {
|
|
5
|
+
return asPath?.includes('#') ? asPath.split('#')[0] : asPath;
|
|
6
|
+
};
|
|
7
|
+
exports.getUrlWithoutHash = getUrlWithoutHash;
|
|
8
|
+
const getQueryField = (asPath, field) => {
|
|
9
|
+
const searchParams = asPath?.split('?') || [];
|
|
10
|
+
const queryParams = searchParams.length > 1 ? searchParams[1] : '';
|
|
11
|
+
const params = new URLSearchParams(queryParams);
|
|
12
|
+
return params.get(field) || '';
|
|
13
|
+
};
|
|
14
|
+
exports.getQueryField = getQueryField;
|
|
15
|
+
const getOrigin = () => {
|
|
16
|
+
const { origin = '' } = typeof window !== 'undefined' && window.location ? window.location : {};
|
|
17
|
+
return origin;
|
|
18
|
+
};
|
|
19
|
+
exports.getOrigin = getOrigin;
|
|
20
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/url/index.ts"],"names":[],"mappings":";;;AAAO,MAAM,iBAAiB,GAAG,CAAC,MAAc,EAAU,EAAE;IAC1D,OAAO,MAAM,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;AAC/D,CAAC,CAAC;AAFW,QAAA,iBAAiB,qBAE5B;AAEK,MAAM,aAAa,GAAG,CAAC,MAAc,EAAE,KAAa,EAAE,EAAE;IAC7D,MAAM,YAAY,GAAa,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;IACxD,MAAM,WAAW,GAAG,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAEnE,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,WAAW,CAAC,CAAC;IAEhD,OAAO,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;AACjC,CAAC,CAAC;AAPW,QAAA,aAAa,iBAOxB;AAEK,MAAM,SAAS,GAAG,GAAG,EAAE;IAC5B,MAAM,EAAE,MAAM,GAAG,EAAE,EAAE,GACnB,OAAO,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;IAE1E,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AALW,QAAA,SAAS,aAKpB"}
|
package/package.json
CHANGED
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { ISO_COUNTRY_CODE } from '../../constants/country/index';
|
|
2
|
+
import { TWENTY_FOUR_HOURS_IN_SECONDS } from '../../constants/date-time';
|
|
3
|
+
import { getCurrentDatebyTimezone } from '../index';
|
|
4
|
+
|
|
5
|
+
export const getDates = (
|
|
6
|
+
timezone: string,
|
|
7
|
+
platform: string,
|
|
8
|
+
country: string,
|
|
9
|
+
): Array<{ futureDate: number; disabled: boolean }> => {
|
|
10
|
+
const currentDate = Date.parse(getCurrentDatebyTimezone(timezone)) / 1000;
|
|
11
|
+
const dates = [];
|
|
12
|
+
|
|
13
|
+
let days = 7;
|
|
14
|
+
let buffer = 1;
|
|
15
|
+
|
|
16
|
+
switch (platform) {
|
|
17
|
+
case 'astro':
|
|
18
|
+
if (country === ISO_COUNTRY_CODE.INDIA) {
|
|
19
|
+
days = 10;
|
|
20
|
+
buffer = 2;
|
|
21
|
+
}
|
|
22
|
+
break;
|
|
23
|
+
case 'website':
|
|
24
|
+
if (country === ISO_COUNTRY_CODE.INDIA) {
|
|
25
|
+
days = 10;
|
|
26
|
+
buffer = 2;
|
|
27
|
+
}
|
|
28
|
+
break;
|
|
29
|
+
default:
|
|
30
|
+
days = 7;
|
|
31
|
+
buffer = 1;
|
|
32
|
+
break;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
// getting dates by adding 86400 seconds(24 hours)
|
|
36
|
+
for (let i = 0; i < days; i += 1) {
|
|
37
|
+
dates.push({
|
|
38
|
+
futureDate: currentDate + TWENTY_FOUR_HOURS_IN_SECONDS * i,
|
|
39
|
+
disabled: !(i > buffer),
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
return dates;
|
|
44
|
+
};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { COUNTRY_NAME_COUNTRY_CODE_MAP as ISO_COUNTRY_CODE } from '../constants/country/iso-country-code';
|
|
2
|
+
import { getCookie } from '../cookie';
|
|
3
|
+
|
|
4
|
+
export const showLaptopQuestion = () => {
|
|
5
|
+
const cueCountryCode = getCookie('cue_country_code');
|
|
6
|
+
|
|
7
|
+
return cueCountryCode === ISO_COUNTRY_CODE.INDIA;
|
|
8
|
+
};
|
|
@@ -26,7 +26,7 @@ export const readSourceCookie = (): SourceDetailsCookie => {
|
|
|
26
26
|
};
|
|
27
27
|
|
|
28
28
|
const writeSourceCookie = (sourceDetails: SourceDetailsCookie): void => {
|
|
29
|
-
createCookie(SOURCE_DETAILS_COOKIE, JSON.stringify(sourceDetails), 365
|
|
29
|
+
createCookie(SOURCE_DETAILS_COOKIE, JSON.stringify(sourceDetails), 365);
|
|
30
30
|
};
|
|
31
31
|
|
|
32
32
|
export const isSourcePresent = (): boolean => {
|
|
@@ -45,7 +45,7 @@ const updateSourceCookie = (sourceDetail: Partial<SourceDetailsCookie>): void =>
|
|
|
45
45
|
writeSourceCookie(updatedDetails);
|
|
46
46
|
};
|
|
47
47
|
|
|
48
|
-
const getRevenueChannel = (platform: Platform,
|
|
48
|
+
const getRevenueChannel = (platform: Platform, utmSource?: string): RevenueChannel => {
|
|
49
49
|
let revenueChannel: RevenueChannel = 'unknown';
|
|
50
50
|
|
|
51
51
|
// set defaults for WEBSITE and ASTRO
|
|
@@ -55,9 +55,7 @@ const getRevenueChannel = (platform: Platform, utmParams?: UTMParams): RevenueCh
|
|
|
55
55
|
revenueChannel = 'performance';
|
|
56
56
|
}
|
|
57
57
|
|
|
58
|
-
if (
|
|
59
|
-
const { utm_source: utmSource = '' } = utmParams;
|
|
60
|
-
|
|
58
|
+
if (utmSource) {
|
|
61
59
|
switch (true) {
|
|
62
60
|
case /^affiliate-/.test(utmSource):
|
|
63
61
|
revenueChannel = 'affiliate';
|
|
@@ -99,8 +97,8 @@ const getFlow = (platform: Platform, experiments?: Experiments): SignupFlow => {
|
|
|
99
97
|
return flow;
|
|
100
98
|
};
|
|
101
99
|
|
|
102
|
-
const getUTMParams = (): UTMParams
|
|
103
|
-
if (typeof window === undefined) return;
|
|
100
|
+
const getUTMParams = (): Partial<UTMParams> => {
|
|
101
|
+
if (typeof window === undefined) return {};
|
|
104
102
|
|
|
105
103
|
const search = new URLSearchParams(window.location.search);
|
|
106
104
|
const utmParams = UTM_PARAMS.reduce((acc: UTMParams, param) => {
|
|
@@ -128,11 +126,9 @@ const getFirstPage = (): string => {
|
|
|
128
126
|
organic-<channel>
|
|
129
127
|
offline-<channel>
|
|
130
128
|
*/
|
|
131
|
-
const getChannel = (
|
|
129
|
+
const getChannel = (utmSource?: string): string => {
|
|
132
130
|
// TODO: UTM source patter for FB, GOOGLE...
|
|
133
|
-
if (!
|
|
134
|
-
|
|
135
|
-
const { utm_source: utmSource = '' } = utmParams;
|
|
131
|
+
if (!utmSource) return '';
|
|
136
132
|
|
|
137
133
|
return utmSource.split('-')[1];
|
|
138
134
|
};
|
|
@@ -150,11 +146,13 @@ export const initSourceDetails = async ({
|
|
|
150
146
|
performanceChannel,
|
|
151
147
|
revenueChannel,
|
|
152
148
|
}: SourceDetails): Promise<void> => {
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
149
|
+
const utmParams: Partial<UTMParams> = getUTMParams();
|
|
150
|
+
const { utm_source: utmSource } = utmParams;
|
|
151
|
+
const leadChannel = getChannel(utmSource);
|
|
156
152
|
|
|
157
|
-
|
|
153
|
+
revenueChannel = revenueChannel || getRevenueChannel(platform, utmSource);
|
|
154
|
+
|
|
155
|
+
if (utmSource) {
|
|
158
156
|
affiliateChannel =
|
|
159
157
|
revenueChannel === 'affiliate' ? affiliateChannel || leadChannel : undefined;
|
|
160
158
|
offlineChannel =
|
|
@@ -163,11 +161,13 @@ export const initSourceDetails = async ({
|
|
|
163
161
|
revenueChannel === 'organic' ? organicChannel || leadChannel : undefined;
|
|
164
162
|
performanceChannel =
|
|
165
163
|
revenueChannel === 'performance' ? performanceChannel || leadChannel : undefined;
|
|
164
|
+
}
|
|
166
165
|
|
|
166
|
+
if (!isSourcePresent()) {
|
|
167
167
|
const sourceDetails: SourceDetailsCookie = {
|
|
168
168
|
platform_channel: platform,
|
|
169
169
|
experiment_dict: experiments,
|
|
170
|
-
utm_params:
|
|
170
|
+
utm_params: utmParams,
|
|
171
171
|
flow: flow || getFlow(platform, experiments),
|
|
172
172
|
affiliate_channel: affiliateChannel,
|
|
173
173
|
offline_channel: offlineChannel,
|
|
@@ -178,6 +178,25 @@ export const initSourceDetails = async ({
|
|
|
178
178
|
};
|
|
179
179
|
|
|
180
180
|
writeSourceCookie(sourceDetails);
|
|
181
|
+
} else {
|
|
182
|
+
let updatedSource: Partial<SourceDetailsCookie> = {
|
|
183
|
+
experiment_dict: experiments,
|
|
184
|
+
flow: flow || getFlow(platform, experiments),
|
|
185
|
+
};
|
|
186
|
+
|
|
187
|
+
if (utmSource) {
|
|
188
|
+
updatedSource = {
|
|
189
|
+
...updatedSource,
|
|
190
|
+
utm_params: utmParams,
|
|
191
|
+
affiliate_channel: affiliateChannel,
|
|
192
|
+
offline_channel: offlineChannel,
|
|
193
|
+
organic_channel: organicChannel,
|
|
194
|
+
performance_channel: performanceChannel,
|
|
195
|
+
revenue_channel: revenueChannel,
|
|
196
|
+
};
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
updateSourceCookie(updatedSource);
|
|
181
200
|
}
|
|
182
201
|
};
|
|
183
202
|
|
package/src/index.ts
CHANGED
package/src/object/index.ts
CHANGED
|
@@ -2,28 +2,6 @@ export function isEmpty(obj: object): boolean {
|
|
|
2
2
|
return Object.keys(obj).length === 0;
|
|
3
3
|
}
|
|
4
4
|
|
|
5
|
-
// In this case both object have same key names Don't use to compare objects
|
|
6
|
-
export function isMapEqual(
|
|
7
|
-
map1: { [x: string]: any },
|
|
8
|
-
map2: { [x: string]: any },
|
|
9
|
-
): boolean {
|
|
10
|
-
const map1Keys = Object.keys(map1);
|
|
11
|
-
const map2Keys = Object.keys(map2);
|
|
12
|
-
|
|
13
|
-
if (map1Keys.length !== map2Keys.length) {
|
|
14
|
-
return false;
|
|
15
|
-
}
|
|
16
|
-
for (let i = 0; i < map1Keys.length; i += 1) {
|
|
17
|
-
const key = map1Keys[i];
|
|
18
|
-
|
|
19
|
-
if (map1[key] !== map2[key]) {
|
|
20
|
-
return false;
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
return true;
|
|
25
|
-
}
|
|
26
|
-
|
|
27
5
|
export function nestedMapsAreEqual(map1: Map<any, any>, map2: Map<any, any>): boolean {
|
|
28
6
|
// First, check if the maps have the same size
|
|
29
7
|
if (map1.size !== map2.size) {
|
package/src/url/index.ts
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export const getUrlWithoutHash = (asPath: string): string => {
|
|
2
|
+
return asPath?.includes('#') ? asPath.split('#')[0] : asPath;
|
|
3
|
+
};
|
|
4
|
+
|
|
5
|
+
export const getQueryField = (asPath: string, field: string) => {
|
|
6
|
+
const searchParams: string[] = asPath?.split('?') || [];
|
|
7
|
+
const queryParams = searchParams.length > 1 ? searchParams[1] : '';
|
|
8
|
+
|
|
9
|
+
const params = new URLSearchParams(queryParams);
|
|
10
|
+
|
|
11
|
+
return params.get(field) || '';
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
export const getOrigin = () => {
|
|
15
|
+
const { origin = '' } =
|
|
16
|
+
typeof window !== 'undefined' && window.location ? window.location : {};
|
|
17
|
+
|
|
18
|
+
return origin;
|
|
19
|
+
};
|