@cuemath/web-utils 1.0.7-beta.0 → 1.0.7-santosh.0

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 (115) hide show
  1. package/dist/cjs/constants/country/index.js.map +1 -0
  2. package/dist/cjs/constants/country/iso-country-code.js.map +1 -0
  3. package/dist/{constants → cjs/constants}/date-time/index.d.ts +2 -6
  4. package/dist/cjs/constants/date-time/index.js +44 -0
  5. package/dist/cjs/constants/date-time/index.js.map +1 -0
  6. package/dist/cjs/constants/date-time/international-timezones.js.map +1 -0
  7. package/dist/cjs/constants/index.d.ts +2 -0
  8. package/dist/{constants → cjs/constants}/index.js +1 -0
  9. package/dist/cjs/constants/index.js.map +1 -0
  10. package/dist/cjs/cookie/index.js.map +1 -0
  11. package/dist/{date-time-helper → cjs/date-time-helper}/index.d.ts +0 -3
  12. package/dist/{date-time-helper → cjs/date-time-helper}/index.js +2 -23
  13. package/dist/cjs/date-time-helper/index.js.map +1 -0
  14. package/dist/cjs/e-cna/index.d.ts +4 -0
  15. package/dist/cjs/e-cna/index.js +22 -0
  16. package/dist/cjs/e-cna/index.js.map +1 -0
  17. package/dist/cjs/growth-source/index.js.map +1 -0
  18. package/dist/{growth-source → cjs/growth-source}/types.js.map +1 -1
  19. package/dist/cjs/index.js.map +1 -0
  20. package/dist/cjs/local-storage/index.js.map +1 -0
  21. package/dist/cjs/object/index.js.map +1 -0
  22. package/dist/esm/constants/country/index.js +2 -0
  23. package/dist/esm/constants/country/index.js.map +1 -0
  24. package/dist/esm/constants/country/iso-country-code.d.ts +248 -0
  25. package/dist/esm/constants/country/iso-country-code.js +249 -0
  26. package/dist/esm/constants/country/iso-country-code.js.map +1 -0
  27. package/dist/esm/constants/date-time/index.d.ts +18 -0
  28. package/dist/esm/constants/date-time/index.js +40 -0
  29. package/dist/esm/constants/date-time/index.js.map +1 -0
  30. package/dist/esm/constants/date-time/international-timezones.d.ts +7 -0
  31. package/dist/esm/constants/date-time/international-timezones.js +148 -0
  32. package/dist/esm/constants/date-time/international-timezones.js.map +1 -0
  33. package/dist/esm/constants/index.d.ts +2 -0
  34. package/dist/esm/constants/index.js +3 -0
  35. package/dist/esm/constants/index.js.map +1 -0
  36. package/dist/esm/cookie/index.d.ts +4 -0
  37. package/dist/esm/cookie/index.js +38 -0
  38. package/dist/esm/cookie/index.js.map +1 -0
  39. package/dist/esm/date-time-helper/index.d.ts +30 -0
  40. package/dist/esm/date-time-helper/index.js +87 -0
  41. package/dist/esm/date-time-helper/index.js.map +1 -0
  42. package/dist/esm/e-cna/index.d.ts +4 -0
  43. package/dist/esm/e-cna/index.js +18 -0
  44. package/dist/esm/e-cna/index.js.map +1 -0
  45. package/dist/esm/growth-source/index.d.ts +6 -0
  46. package/dist/esm/growth-source/index.js +180 -0
  47. package/dist/esm/growth-source/index.js.map +1 -0
  48. package/dist/esm/growth-source/types.d.ts +41 -0
  49. package/dist/esm/growth-source/types.js +2 -0
  50. package/dist/esm/growth-source/types.js.map +1 -0
  51. package/dist/esm/index.js +8 -0
  52. package/dist/esm/index.js.map +1 -0
  53. package/dist/esm/local-storage/index.d.ts +13 -0
  54. package/dist/esm/local-storage/index.js +162 -0
  55. package/dist/esm/local-storage/index.js.map +1 -0
  56. package/dist/esm/object/index.d.ts +2 -0
  57. package/dist/esm/object/index.js +19 -0
  58. package/dist/esm/object/index.js.map +1 -0
  59. package/package.json +16 -6
  60. package/.eslintignore +0 -2
  61. package/.eslintrc.json +0 -9
  62. package/.husky/pre-commit +0 -5
  63. package/.huskyrc +0 -5
  64. package/.lintstagedrc.yml +0 -1
  65. package/.nvmrc +0 -1
  66. package/.prettierrc.json +0 -1
  67. package/.vscode/settings.json +0 -1
  68. package/dist/constants/country/index.js.map +0 -1
  69. package/dist/constants/country/iso-country-code.js.map +0 -1
  70. package/dist/constants/date-time/index.js +0 -105
  71. package/dist/constants/date-time/index.js.map +0 -1
  72. package/dist/constants/date-time/international-timezones.js.map +0 -1
  73. package/dist/constants/index.d.ts +0 -1
  74. package/dist/constants/index.js.map +0 -1
  75. package/dist/cookie/index.js.map +0 -1
  76. package/dist/date-time-helper/index.js.map +0 -1
  77. package/dist/e-cna/index.d.ts +0 -20
  78. package/dist/e-cna/index.js +0 -60
  79. package/dist/e-cna/index.js.map +0 -1
  80. package/dist/growth-source/index.js.map +0 -1
  81. package/dist/index.js.map +0 -1
  82. package/dist/local-storage/index.js.map +0 -1
  83. package/dist/object/index.js.map +0 -1
  84. package/src/constants/country/iso-country-code.ts +0 -248
  85. package/src/constants/date-time/index.ts +0 -107
  86. package/src/constants/date-time/international-timezones.ts +0 -157
  87. package/src/constants/index.ts +0 -1
  88. package/src/cookie/index.ts +0 -59
  89. package/src/date-time-helper/index.ts +0 -168
  90. package/src/e-cna/index.ts +0 -74
  91. package/src/growth-source/index.ts +0 -235
  92. package/src/growth-source/types.ts +0 -50
  93. package/src/local-storage/index.ts +0 -196
  94. package/src/object/index.ts +0 -21
  95. package/tsconfig.json +0 -8
  96. /package/dist/{constants → cjs/constants}/country/index.d.ts +0 -0
  97. /package/dist/{constants → cjs/constants}/country/index.js +0 -0
  98. /package/dist/{constants → cjs/constants}/country/iso-country-code.d.ts +0 -0
  99. /package/dist/{constants → cjs/constants}/country/iso-country-code.js +0 -0
  100. /package/dist/{constants → cjs/constants}/date-time/international-timezones.d.ts +0 -0
  101. /package/dist/{constants → cjs/constants}/date-time/international-timezones.js +0 -0
  102. /package/dist/{cookie → cjs/cookie}/index.d.ts +0 -0
  103. /package/dist/{cookie → cjs/cookie}/index.js +0 -0
  104. /package/dist/{growth-source → cjs/growth-source}/index.d.ts +0 -0
  105. /package/dist/{growth-source → cjs/growth-source}/index.js +0 -0
  106. /package/dist/{growth-source → cjs/growth-source}/types.d.ts +0 -0
  107. /package/dist/{growth-source → cjs/growth-source}/types.js +0 -0
  108. /package/dist/{index.d.ts → cjs/index.d.ts} +0 -0
  109. /package/dist/{index.js → cjs/index.js} +0 -0
  110. /package/dist/{local-storage → cjs/local-storage}/index.d.ts +0 -0
  111. /package/dist/{local-storage → cjs/local-storage}/index.js +0 -0
  112. /package/dist/{object → cjs/object}/index.d.ts +0 -0
  113. /package/dist/{object → cjs/object}/index.js +0 -0
  114. /package/{src/constants/country/index.ts → dist/esm/constants/country/index.d.ts} +0 -0
  115. /package/{src/index.ts → dist/esm/index.d.ts} +0 -0
@@ -1,50 +0,0 @@
1
- export type Platform = 'website' | 'app' | 'astro' | 'leap-teacher' | 'leap-admin';
2
- export type RevenueChannel =
3
- | 'organic'
4
- | 'performance'
5
- | 'affiliate'
6
- | 'offline'
7
- | 'referral'
8
- | 'unknown';
9
- export type SignupFlow = 'regular' | 'e-cna' | 'e-sales';
10
- export type Experiments = Record<string, unknown>;
11
- export type UTMParams = {
12
- utm_source?: string;
13
- utm_medium?: string;
14
- utm_campaign?: string;
15
- utm_term?: string;
16
- };
17
-
18
- export type UTMParamsKeys = keyof UTMParams;
19
-
20
- export type SourceDetailsCookie = {
21
- platform_channel: Platform;
22
- experiment_dict?: Experiments;
23
- flow?: SignupFlow;
24
- utm_params?: UTMParams;
25
- affiliate_channel?: string;
26
- offline_channel?: string;
27
- performance_channel?: string;
28
- revenue_channel: RevenueChannel;
29
- organic_channel?: string;
30
- flow_entry?: string;
31
- first_page?: string;
32
- last_page?: string;
33
- guest_id?: string;
34
- };
35
-
36
- export type SourceDetails = {
37
- platform: Platform;
38
- experiments: Experiments;
39
- flow?: SignupFlow;
40
- utmParams?: UTMParams;
41
- affiliateChannel?: string;
42
- offlineChannel?: string;
43
- performanceChannel?: string;
44
- revenueChannel: RevenueChannel;
45
- organicChannel?: string;
46
- flowEntry?: string;
47
- firstPage?: string;
48
- lastPage?: string;
49
- guestId?: string;
50
- };
@@ -1,196 +0,0 @@
1
- import { TWENTY_FOUR_HOURS_IN_SECONDS } from '../constants/date-time';
2
-
3
- /* eslint-disable @typescript-eslint/no-explicit-any */
4
- export const LOCAL_STORAGE_PRIMARY_KEY = 'CUEMATH_WEB';
5
-
6
- export const checkLocalStorageSupport = (): boolean => {
7
- try {
8
- return 'localStorage' in window && window.localStorage !== null;
9
- } catch (e) {
10
- return false;
11
- }
12
- };
13
-
14
- export const removeKeyFromObject = (
15
- obj: { [x: string]: any },
16
- keyToRemove: string,
17
- ): null | { [x: string]: any } => {
18
- if (obj) {
19
- delete obj[keyToRemove];
20
-
21
- return obj;
22
- }
23
-
24
- return null;
25
- };
26
-
27
- // Default expiry set to 24 hours
28
- export const localStorageSet = (
29
- key: string | number,
30
- value: any,
31
- ttl = TWENTY_FOUR_HOURS_IN_SECONDS,
32
- ): boolean => {
33
- if (checkLocalStorageSupport()) {
34
- try {
35
- let dbData: any = window.localStorage.getItem(LOCAL_STORAGE_PRIMARY_KEY);
36
- const now = new Date();
37
-
38
- const item = {
39
- value,
40
- expiry: now.getTime() + ttl,
41
- };
42
-
43
- if (dbData) {
44
- dbData = JSON.parse(dbData);
45
- dbData[key] = item;
46
- } else {
47
- dbData = { [key]: item };
48
- }
49
-
50
- window.localStorage.setItem(LOCAL_STORAGE_PRIMARY_KEY, JSON.stringify(dbData));
51
-
52
- return true;
53
- } catch (e) {
54
- return false;
55
- } // case when localStorage space quota is exceeded
56
- } else {
57
- return false;
58
- }
59
- };
60
-
61
- export const localStorageGet = (key: string): null | string => {
62
- if (checkLocalStorageSupport()) {
63
- try {
64
- const primaryLocalStorageValue = window.localStorage.getItem(
65
- LOCAL_STORAGE_PRIMARY_KEY,
66
- );
67
- let dbData =
68
- primaryLocalStorageValue != null
69
- ? JSON.parse(primaryLocalStorageValue)
70
- : primaryLocalStorageValue;
71
- const requestedData = dbData[key];
72
- const now = new Date();
73
-
74
- if (now.getTime() > requestedData.expiry) {
75
- dbData = removeKeyFromObject(dbData, key);
76
- window.localStorage.setItem(LOCAL_STORAGE_PRIMARY_KEY, JSON.stringify(dbData));
77
-
78
- return null;
79
- }
80
-
81
- return requestedData.value;
82
- } catch (e) {
83
- return null;
84
- }
85
- } else {
86
- return null;
87
- }
88
- };
89
-
90
- export const localStorageGetAll = (): null | string => {
91
- if (checkLocalStorageSupport()) {
92
- try {
93
- const primaryLocalStorageValue = window.localStorage.getItem(
94
- LOCAL_STORAGE_PRIMARY_KEY,
95
- );
96
-
97
- return primaryLocalStorageValue != null
98
- ? JSON.parse(primaryLocalStorageValue)
99
- : primaryLocalStorageValue;
100
- } catch (e) {
101
- return null;
102
- }
103
- } else {
104
- return null;
105
- }
106
- };
107
-
108
- export const localStorageRemove = (key: string): boolean => {
109
- if (checkLocalStorageSupport()) {
110
- try {
111
- const primaryLocalStorageValue = window.localStorage.getItem(
112
- LOCAL_STORAGE_PRIMARY_KEY,
113
- );
114
- let dbData =
115
- primaryLocalStorageValue != null
116
- ? JSON.parse(primaryLocalStorageValue)
117
- : primaryLocalStorageValue;
118
-
119
- if (dbData[key]) {
120
- dbData = removeKeyFromObject(dbData, key);
121
- window.localStorage.setItem(LOCAL_STORAGE_PRIMARY_KEY, JSON.stringify(dbData));
122
-
123
- return true;
124
- }
125
-
126
- return false;
127
- } catch (e) {
128
- return false;
129
- }
130
- } else {
131
- return false;
132
- }
133
- };
134
-
135
- export const localStorageRemoveAll = (): boolean => {
136
- if (checkLocalStorageSupport()) {
137
- try {
138
- const primaryLocalStorageValue = window.localStorage.getItem(
139
- LOCAL_STORAGE_PRIMARY_KEY,
140
- );
141
- const dbData =
142
- primaryLocalStorageValue != null
143
- ? JSON.parse(primaryLocalStorageValue)
144
- : primaryLocalStorageValue;
145
-
146
- if (dbData) {
147
- window.localStorage.removeItem(LOCAL_STORAGE_PRIMARY_KEY);
148
-
149
- return true;
150
- }
151
-
152
- return false;
153
- } catch (e) {
154
- return false;
155
- }
156
- } else {
157
- return false;
158
- }
159
- };
160
-
161
- export const removeExpiredKeysOnMount = (): boolean => {
162
- if (checkLocalStorageSupport()) {
163
- try {
164
- const primaryLocalStorageValue = window.localStorage.getItem(
165
- LOCAL_STORAGE_PRIMARY_KEY,
166
- );
167
- let dbData =
168
- primaryLocalStorageValue != null
169
- ? JSON.parse(primaryLocalStorageValue)
170
- : primaryLocalStorageValue;
171
- const now = new Date();
172
-
173
- if (dbData) {
174
- dbData = Object.keys(dbData).reduce((accumulator: any, key) => {
175
- if (now.getTime() < dbData[key].expiry) {
176
- accumulator[key] = dbData[key];
177
- }
178
-
179
- return accumulator;
180
- }, {});
181
- }
182
-
183
- if (Object.keys(dbData).length) {
184
- window.localStorage.setItem(LOCAL_STORAGE_PRIMARY_KEY, JSON.stringify(dbData));
185
- } else {
186
- localStorageRemoveAll();
187
- }
188
-
189
- return true;
190
- } catch (e) {
191
- return false;
192
- }
193
- } else {
194
- return false;
195
- }
196
- };
@@ -1,21 +0,0 @@
1
- export function isEmpty(obj: object): boolean {
2
- return Object.keys(obj).length === 0;
3
- }
4
-
5
- export function nestedMapsAreEqual(map1: Map<any, any>, map2: Map<any, any>): boolean {
6
- // First, check if the maps have the same size
7
- if (map1.size !== map2.size) {
8
- return false;
9
- }
10
-
11
- // Then, iterate over each key-value pair in map1 and check if the corresponding key-value pair exists in map2
12
- for (const [key, value] of map1) {
13
- if (!map2.has(key) || map2.get(key) !== value) {
14
- // If the key doesn't exist in map2, or the value for the key is different, the maps are not equal
15
- return false;
16
- }
17
- }
18
-
19
- // If we haven't returned false by now, the maps are equal
20
- return true;
21
- }
package/tsconfig.json DELETED
@@ -1,8 +0,0 @@
1
- {
2
- "extends": "@cuemath/ts-config/tsconfig.json",
3
- "compilerOptions": {
4
- "outDir": "./dist",
5
- "module": "CommonJS"
6
- },
7
- "include": ["src/**/*"]
8
- }
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes