asv-hlps 1.0.47 → 1.0.50

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.
@@ -0,0 +1,3 @@
1
+ export declare const getStorage: (key: string, local?: boolean) => string;
2
+ export declare const setStorage: (key: string, value: string, local?: boolean) => void;
3
+ export declare const removeStorage: (key: string) => void;
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.removeStorage = exports.setStorage = exports.getStorage = void 0;
4
+ const getStorage = (key, local = false) => {
5
+ if (!key) {
6
+ return null;
7
+ }
8
+ return !local ? sessionStorage.getItem(key) : localStorage.getItem(key);
9
+ };
10
+ exports.getStorage = getStorage;
11
+ const setStorage = (key, value, local = false) => {
12
+ /* if (!key) {
13
+ return null;
14
+ } */
15
+ !local ? sessionStorage.setItem(key, value) : localStorage.setItem(key, value);
16
+ };
17
+ exports.setStorage = setStorage;
18
+ const removeStorage = (key) => {
19
+ localStorage.removeItem(key);
20
+ sessionStorage.removeItem(key);
21
+ };
22
+ exports.removeStorage = removeStorage;
@@ -16,6 +16,13 @@ export declare const displayDateRangeFr: (getFromDate?: any, getToDate?: any) =>
16
16
  export declare const getNbOfDaysBetweenTwoDates: (date1: Date, date2: Date) => number;
17
17
  export declare const getRandomColor: (brightness: number) => string;
18
18
  export declare const removeDuplicates: (tab: any[]) => any[];
19
+ /**
20
+ * remove duplicates from array by crietere (key)
21
+ * @param tobs
22
+ * @param key
23
+ * @returns
24
+ */
25
+ export declare const removeDuplicatesByKey: (tobs: any[], key: string) => any[];
19
26
  export declare const toObjectDate: (fromDate: any, toDate: string) => {
20
27
  fromDate: any;
21
28
  toDate: string;
package/lib/cjs/utils.js CHANGED
@@ -1,51 +1,47 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.calculPercent = exports.validEmail = exports.convertToCfa = exports.packAndUnit = exports.unCheckedAll = exports.inputChecked = exports.arrayMultiChecked = exports.getColorAccordingToDate = exports.genRandomColour = exports.formatNgbDate = exports.dateToString = exports.replaceSpacesWith = exports.replaceAllIn = exports.sesStorageGet = exports.sesStorageSet = exports.genSequenceRef = exports.removeBackSlashOccurences = exports.removeString = exports.deepClone = exports.findFirstSequenceMissing = exports.fillNumWithZero = exports.findSequencesMissing = exports.sequencesToNumbers = exports.absFromSequence = exports.reformatDates = exports.formatToStringCfa = exports.formatToString = exports.wakeUp = exports.sleep = exports.limitTo = exports.titleCase = exports.toObjectDate = exports.removeDuplicates = exports.getRandomColor = exports.getNbOfDaysBetweenTwoDates = exports.displayDateRangeFr = exports.calPercent = exports.percentOf = exports.genDateMinutesStep = exports.convertFrDateToEnDate = exports.convertEnDateToFr = exports.formatDateMd = exports.formatDateYm = exports.formatDateYmFirstDay = exports.formatDateYmd = exports.formatFromAndToDate = exports.formatDateYmHypen = exports.formatDateFirstDayFr = exports.formatDateYmdHypenFr = exports.formatDateYmdHypen = void 0;
4
- exports.isBirthday = exports.padEndWithZero = exports.padStartWithZero = void 0;
3
+ exports.validEmail = exports.convertToCfa = exports.packAndUnit = exports.unCheckedAll = exports.inputChecked = exports.arrayMultiChecked = exports.getColorAccordingToDate = exports.genRandomColour = exports.formatNgbDate = exports.dateToString = exports.replaceSpacesWith = exports.replaceAllIn = exports.sesStorageGet = exports.sesStorageSet = exports.genSequenceRef = exports.removeBackSlashOccurences = exports.removeString = exports.deepClone = exports.findFirstSequenceMissing = exports.fillNumWithZero = exports.findSequencesMissing = exports.sequencesToNumbers = exports.absFromSequence = exports.reformatDates = exports.formatToStringCfa = exports.formatToString = exports.wakeUp = exports.sleep = exports.limitTo = exports.titleCase = exports.toObjectDate = exports.removeDuplicatesByKey = exports.removeDuplicates = exports.getRandomColor = exports.getNbOfDaysBetweenTwoDates = exports.displayDateRangeFr = exports.calPercent = exports.percentOf = exports.genDateMinutesStep = exports.convertFrDateToEnDate = exports.convertEnDateToFr = exports.formatDateMd = exports.formatDateYm = exports.formatDateYmFirstDay = exports.formatDateYmd = exports.formatFromAndToDate = exports.formatDateYmHypen = exports.formatDateFirstDayFr = exports.formatDateYmdHypenFr = exports.formatDateYmdHypen = void 0;
4
+ exports.isBirthday = exports.padEndWithZero = exports.padStartWithZero = exports.calculPercent = void 0;
5
5
  const formatDateYmdHypen = (date) => {
6
- return (0, exports.formatDateYmd)(date, '-');
6
+ return (0, exports.formatDateYmd)(date, "-");
7
7
  };
8
8
  exports.formatDateYmdHypen = formatDateYmdHypen;
9
9
  const formatDateYmdHypenFr = (date) => {
10
- return (0, exports.convertEnDateToFr)((0, exports.formatDateYmd)(date, '-'));
10
+ return (0, exports.convertEnDateToFr)((0, exports.formatDateYmd)(date, "-"));
11
11
  };
12
12
  exports.formatDateYmdHypenFr = formatDateYmdHypenFr;
13
13
  const formatDateFirstDayFr = (date) => {
14
- return (('0' + 1).slice(-2) +
15
- '-' +
16
- ('0' + (date.getMonth() + 1)).slice(-2) +
17
- '-' +
18
- date.getUTCFullYear());
14
+ return ("0" + 1).slice(-2) + "-" + ("0" + (date.getMonth() + 1)).slice(-2) + "-" + date.getUTCFullYear();
19
15
  };
20
16
  exports.formatDateFirstDayFr = formatDateFirstDayFr;
21
17
  const formatDateYmHypen = (date) => {
22
- return (0, exports.formatDateYm)(date, '-');
18
+ return (0, exports.formatDateYm)(date, "-");
23
19
  };
24
20
  exports.formatDateYmHypen = formatDateYmHypen;
25
21
  const formatFromAndToDate = (fromDate, toDate) => {
26
22
  const getFromDate = !fromDate ? new Date() : fromDate;
27
23
  const getToDate = !toDate ? fromDate : toDate;
28
- return (0, exports.formatDateYmdHypenFr)(new Date(getFromDate)) + ' au ' + (0, exports.formatDateYmdHypenFr)(new Date(getToDate));
24
+ return (0, exports.formatDateYmdHypenFr)(new Date(getFromDate)) + " au " + (0, exports.formatDateYmdHypenFr)(new Date(getToDate));
29
25
  };
30
26
  exports.formatFromAndToDate = formatFromAndToDate;
31
- const formatDateYmd = (date, separator = '') => {
32
- return (0, exports.formatDateYm)(date, separator) + separator + ('0' + date.getUTCDate()).slice(-2);
27
+ const formatDateYmd = (date, separator = "") => {
28
+ return (0, exports.formatDateYm)(date, separator) + separator + ("0" + date.getUTCDate()).slice(-2);
33
29
  };
34
30
  exports.formatDateYmd = formatDateYmd;
35
- const formatDateYmFirstDay = (date, separator = '') => {
36
- return (0, exports.formatDateYm)(date, separator) + separator + ('0' + 1).slice(-2);
31
+ const formatDateYmFirstDay = (date, separator = "") => {
32
+ return (0, exports.formatDateYm)(date, separator) + separator + ("0" + 1).slice(-2);
37
33
  };
38
34
  exports.formatDateYmFirstDay = formatDateYmFirstDay;
39
- const formatDateYm = (date, separator = '') => {
40
- return date.getUTCFullYear() + separator + ('0' + (date.getMonth() + 1)).slice(-2);
35
+ const formatDateYm = (date, separator = "") => {
36
+ return date.getUTCFullYear() + separator + ("0" + (date.getMonth() + 1)).slice(-2);
41
37
  };
42
38
  exports.formatDateYm = formatDateYm;
43
- const formatDateMd = (date, separator = '') => {
39
+ const formatDateMd = (date, separator = "") => {
44
40
  // return ('0' + (date.getMonth() + 1)).slice(-2) + separator + ('0' + date.getUTCDate()).slice(-2);
45
- return (date.getMonth() + 1) + separator + date.getUTCDate();
41
+ return date.getMonth() + 1 + separator + date.getUTCDate();
46
42
  };
47
43
  exports.formatDateMd = formatDateMd;
48
- const convertEnDateToFr = (date, separator = '-') => {
44
+ const convertEnDateToFr = (date, separator = "-") => {
49
45
  if (!date) {
50
46
  return null;
51
47
  }
@@ -57,7 +53,7 @@ const convertEnDateToFr = (date, separator = '-') => {
57
53
  return day + separator + month + separator + year;
58
54
  };
59
55
  exports.convertEnDateToFr = convertEnDateToFr;
60
- const convertFrDateToEnDate = (date, separator = '-') => {
56
+ const convertFrDateToEnDate = (date, separator = "-") => {
61
57
  if (!date) {
62
58
  return null;
63
59
  }
@@ -69,18 +65,18 @@ const convertFrDateToEnDate = (date, separator = '-') => {
69
65
  return year + separator + month + separator + day;
70
66
  };
71
67
  exports.convertFrDateToEnDate = convertFrDateToEnDate;
72
- const genDateMinutesStep = (step, lang = 'fr-FR') => {
68
+ const genDateMinutesStep = (step, lang = "fr-FR") => {
73
69
  const date = new Date(2021, 0, 1);
74
70
  const series = [];
75
71
  while (date.getDate() === 1) {
76
- series.push(date.toLocaleTimeString(lang).replace(/(.*)\D\d+/, '$1')); // without seconds
72
+ series.push(date.toLocaleTimeString(lang).replace(/(.*)\D\d+/, "$1")); // without seconds
77
73
  date.setMinutes(date.getMinutes() + step);
78
74
  }
79
75
  return series;
80
76
  };
81
77
  exports.genDateMinutesStep = genDateMinutesStep;
82
78
  const percentOf = (nbr, percentage) => {
83
- return nbr * percentage / 100;
79
+ return (nbr * percentage) / 100;
84
80
  };
85
81
  exports.percentOf = percentOf;
86
82
  const calPercent = (nbr, percentage) => {
@@ -90,13 +86,13 @@ const calPercent = (nbr, percentage) => {
90
86
  if (!percentage) {
91
87
  return nbr;
92
88
  }
93
- return nbr + (nbr * percentage / 100);
89
+ return nbr + (nbr * percentage) / 100;
94
90
  };
95
91
  exports.calPercent = calPercent;
96
92
  const displayDateRangeFr = (getFromDate, getToDate) => {
97
93
  const fromDate = !getFromDate ? new Date() : getFromDate;
98
94
  const toDate = !getToDate ? fromDate : getToDate;
99
- return (0, exports.formatDateYmdHypenFr)(new Date(fromDate)) + ' au ' + (0, exports.formatDateYmdHypenFr)(new Date(toDate));
95
+ return (0, exports.formatDateYmdHypenFr)(new Date(fromDate)) + " au " + (0, exports.formatDateYmdHypenFr)(new Date(toDate));
100
96
  };
101
97
  exports.displayDateRangeFr = displayDateRangeFr;
102
98
  const getNbOfDaysBetweenTwoDates = (date1, date2) => {
@@ -109,31 +105,44 @@ const getRandomColor = (brightness) => {
109
105
  // Six levels of brightness from 0 to 5, 0 being the darkest
110
106
  const rgb = [Math.random() * 256, Math.random() * 256, Math.random() * 256];
111
107
  const mix = [brightness * 51, brightness * 51, brightness * 51]; // 51 => 255/5
112
- const mixedrgb = [rgb[0] + mix[0], rgb[1] + mix[1], rgb[2] + mix[2]].map(function (x) { return Math.round(x / 2.0); });
113
- return 'rgb(' + mixedrgb.join(',') + ')';
108
+ const mixedrgb = [rgb[0] + mix[0], rgb[1] + mix[1], rgb[2] + mix[2]].map(function (x) {
109
+ return Math.round(x / 2.0);
110
+ });
111
+ return "rgb(" + mixedrgb.join(",") + ")";
114
112
  };
115
113
  exports.getRandomColor = getRandomColor;
116
114
  const removeDuplicates = (tab) => {
117
- return tab.filter((v, i, a) => a.findIndex(t => (t.id === v.id && t.name === v.name)) === i);
115
+ return tab.filter((v, i, a) => a.findIndex((t) => t.id === v.id && t.name === v.name) === i);
118
116
  };
119
117
  exports.removeDuplicates = removeDuplicates;
118
+ /**
119
+ * remove duplicates from array by crietere (key)
120
+ * @param tobs
121
+ * @param key
122
+ * @returns
123
+ */
124
+ const removeDuplicatesByKey = (tobs, key) => {
125
+ return [...new Map(tobs.map((item) => [item[key], item])).values()];
126
+ };
127
+ exports.removeDuplicatesByKey = removeDuplicatesByKey;
120
128
  const toObjectDate = (fromDate, toDate) => {
121
- toDate = (toDate !== 'null') ? toDate : fromDate;
129
+ toDate = toDate !== "null" ? toDate : fromDate;
122
130
  return { fromDate: fromDate, toDate: toDate };
123
131
  };
124
132
  exports.toObjectDate = toObjectDate;
125
133
  const titleCase = (str) => {
126
- return str.trim()
134
+ return (str
135
+ .trim()
127
136
  .toLowerCase()
128
- .split(' ')
137
+ .split(" ")
129
138
  // .map(function(word: string | string[]) => {
130
139
  .map(function (word) {
131
140
  return word.replace(word[0], word[0].toUpperCase());
132
141
  })
133
- .join(' ');
142
+ .join(" "));
134
143
  };
135
144
  exports.titleCase = titleCase;
136
- const limitTo = (value, limit = 15, trail = '') => {
145
+ const limitTo = (value, limit = 15, trail = "") => {
137
146
  // const limit = args ? parseInt(args, 10) : 10;
138
147
  // const trail = '...';
139
148
  return value.length > limit ? value.substring(0, limit) + trail : value;
@@ -147,14 +156,14 @@ const wakeUp = (sleep) => {
147
156
  clearInterval(sleep);
148
157
  };
149
158
  exports.wakeUp = wakeUp;
150
- const formatToString = (val, separator = ' ', currency = '') => {
159
+ const formatToString = (val, separator = " ", currency = "") => {
151
160
  // return String(val).replace(/(.)(?=(\d{3})+$)/g, '$1,');
152
- return String(val).replace(/(.)(?=(\d{3})+$)/g, '$1' + separator + '') + currency;
161
+ return String(val).replace(/(.)(?=(\d{3})+$)/g, "$1" + separator + "") + currency;
153
162
  };
154
163
  exports.formatToString = formatToString;
155
164
  const formatToStringCfa = (val) => {
156
165
  // return String(val).replace(/(.)(?=(\d{3})+$)/g, '$1 ') + ' CFA';
157
- return (0, exports.formatToString)(val, ' ', ' CFA');
166
+ return (0, exports.formatToString)(val, " ", " CFA");
158
167
  };
159
168
  exports.formatToStringCfa = formatToStringCfa;
160
169
  // const = reformatDates(fromDate: string, toDate: string) => {
@@ -162,7 +171,7 @@ const reformatDates = (fromDate, toDate) => {
162
171
  if (fromDate === undefined || fromDate === null) {
163
172
  return null;
164
173
  }
165
- toDate = (!toDate) ? fromDate : toDate;
174
+ toDate = !toDate ? fromDate : toDate;
166
175
  return { fromDate, toDate };
167
176
  };
168
177
  exports.reformatDates = reformatDates;
@@ -175,7 +184,7 @@ exports.absFromSequence = absFromSequence;
175
184
  const sequencesToNumbers = (arr) => {
176
185
  const seqs = [];
177
186
  for (const item of arr) {
178
- seqs.push(+(Object.values(item)));
187
+ seqs.push(+Object.values(item));
179
188
  }
180
189
  return seqs;
181
190
  };
@@ -183,13 +192,13 @@ exports.sequencesToNumbers = sequencesToNumbers;
183
192
  const findSequencesMissing = (arr) => {
184
193
  const seqs = [];
185
194
  for (const item of arr) {
186
- seqs.push(+(Object.values(item)));
195
+ seqs.push(+Object.values(item));
187
196
  }
188
197
  return (0, exports.absFromSequence)(seqs);
189
198
  };
190
199
  exports.findSequencesMissing = findSequencesMissing;
191
200
  const fillNumWithZero = (num, targetLength) => {
192
- return num.toString().padStart(targetLength, '0');
201
+ return num.toString().padStart(targetLength, "0");
193
202
  };
194
203
  exports.fillNumWithZero = fillNumWithZero;
195
204
  const findFirstSequenceMissing = (arr) => {
@@ -205,7 +214,7 @@ const deepClone = (obj) => {
205
214
  };
206
215
  exports.deepClone = deepClone;
207
216
  const removeString = (text, word) => {
208
- return text.toLowerCase().replace(word.toLowerCase(), '') || text;
217
+ return text.toLowerCase().replace(word.toLowerCase(), "") || text;
209
218
  };
210
219
  exports.removeString = removeString;
211
220
  const removeBackSlashOccurences = (text, toChar) => {
@@ -213,7 +222,7 @@ const removeBackSlashOccurences = (text, toChar) => {
213
222
  return String(text).toLowerCase().replace(regex, toChar) || text;
214
223
  };
215
224
  exports.removeBackSlashOccurences = removeBackSlashOccurences;
216
- const genSequenceRef = (refs, startChars, zeroFillWidth, dateFormat = '') => {
225
+ const genSequenceRef = (refs, startChars, zeroFillWidth, dateFormat = "") => {
217
226
  if (!refs.length) {
218
227
  return startChars + dateFormat + (0, exports.fillNumWithZero)(1, zeroFillWidth);
219
228
  }
@@ -222,13 +231,13 @@ const genSequenceRef = (refs, startChars, zeroFillWidth, dateFormat = '') => {
222
231
  const missingSequences = (0, exports.absFromSequence)(seqs);
223
232
  if (!missingSequences.length) {
224
233
  /* if(seqs.length === 1) => {
225
- return startChars + fillNumWithZero((+seqs[0] + 1 ), zeroFillWidth); // get the last item of the array and incremente
226
- } else { */
234
+ return startChars + fillNumWithZero((+seqs[0] + 1 ), zeroFillWidth); // get the last item of the array and incremente
235
+ } else { */
227
236
  if (seqs[0] !== 1) {
228
237
  return startChars + dateFormat + (0, exports.fillNumWithZero)(1, zeroFillWidth);
229
238
  }
230
239
  else {
231
- return startChars + dateFormat + (0, exports.fillNumWithZero)((seqs[seqs.length - 1] + 1), zeroFillWidth); // get the last item of the array
240
+ return startChars + dateFormat + (0, exports.fillNumWithZero)(seqs[seqs.length - 1] + 1, zeroFillWidth); // get the last item of the array
232
241
  }
233
242
  // }
234
243
  }
@@ -246,22 +255,22 @@ const sesStorageGet = (key) => {
246
255
  return JSON.parse(sessionStorage.getItem(key));
247
256
  };
248
257
  exports.sesStorageGet = sesStorageGet;
249
- const replaceAllIn = (text, regex = / /g, toChar = '_') => {
258
+ const replaceAllIn = (text, regex = / /g, toChar = "_") => {
250
259
  return text.replace(regex, toChar) || text;
251
260
  };
252
261
  exports.replaceAllIn = replaceAllIn;
253
- const replaceSpacesWith = (text, toChar = '_') => {
262
+ const replaceSpacesWith = (text, toChar = "_") => {
254
263
  return text.replace(/\s/g, toChar) || text;
255
264
  };
256
265
  exports.replaceSpacesWith = replaceSpacesWith;
257
266
  const dateToString = (date) => {
258
- return date.year + '-' + ('0' + date.month).slice(-2) + '-' + ('0' + date.day).slice(-2);
267
+ return date.year + "-" + ("0" + date.month).slice(-2) + "-" + ("0" + date.day).slice(-2);
259
268
  };
260
269
  exports.dateToString = dateToString;
261
270
  // export const formatNgbDate = (date: DateSelected) => {
262
271
  const formatNgbDate = (date) => {
263
- const fromDate = (date.fromDate) ? (0, exports.dateToString)(date.fromDate) : null;
264
- const toDate = (date.toDate) ? (0, exports.dateToString)(date.toDate) : null;
272
+ const fromDate = date.fromDate ? (0, exports.dateToString)(date.fromDate) : null;
273
+ const toDate = date.toDate ? (0, exports.dateToString)(date.toDate) : null;
265
274
  return { fromDate: fromDate, toDate: toDate };
266
275
  };
267
276
  exports.formatNgbDate = formatNgbDate;
@@ -278,39 +287,39 @@ const getColorAccordingToDate = (inputDate, period1 = 3, period2 = 6, period3 =
278
287
  period3 = period3 * 30;
279
288
  if (ifClass) {
280
289
  if (diffNumber <= period1) {
281
- return 'red';
290
+ return "red";
282
291
  }
283
292
  else if (diffNumber > period1 && diffNumber <= period2) {
284
- return 'DarkOrange';
293
+ return "DarkOrange";
285
294
  }
286
295
  else if (diffNumber > period2 && diffNumber <= period3) {
287
- return 'turquoise';
296
+ return "turquoise";
288
297
  }
289
298
  else if (diffNumber > period3) {
290
- return 'blue';
299
+ return "blue";
291
300
  }
292
- return 'green';
301
+ return "green";
293
302
  }
294
303
  if (diffNumber <= period1) {
295
304
  // return '#cc3300';
296
- return '#f46a6a';
305
+ return "#f46a6a";
297
306
  }
298
307
  else if (diffNumber > period1 && diffNumber <= period2) {
299
308
  // return '#fff3cd';
300
- return '#f1b44c';
309
+ return "#f1b44c";
301
310
  }
302
311
  else if (diffNumber > period2 && diffNumber <= period3) {
303
- return '#cce5ff';
312
+ return "#cce5ff";
304
313
  }
305
314
  else if (diffNumber > period3) {
306
315
  // return '#339900';
307
- return '#34c38f';
316
+ return "#34c38f";
308
317
  }
309
- return '#339900';
318
+ return "#339900";
310
319
  };
311
320
  exports.getColorAccordingToDate = getColorAccordingToDate;
312
321
  const arrayMultiChecked = (objet, event, item) => {
313
- const findItem = objet.find(x => x.id === item.id);
322
+ const findItem = objet.find((x) => x.id === item.id);
314
323
  event && !findItem ? objet.push(item) : objet.splice(objet.indexOf(findItem), 1);
315
324
  return objet;
316
325
  };
@@ -321,7 +330,7 @@ const inputChecked = (event, item, checks, isChecked = true) => {
321
330
  const evt = event.target.checked;
322
331
  checks = (0, exports.arrayMultiChecked)(checks, evt, item);
323
332
  // (checks.length) ? isChecked = true : isChecked = false;
324
- isChecked = (checks.length) ? true : false;
333
+ isChecked = checks.length ? true : false;
325
334
  return checks;
326
335
  };
327
336
  exports.inputChecked = inputChecked;
@@ -337,20 +346,20 @@ const unCheckedAll = (checks) => {
337
346
  exports.unCheckedAll = unCheckedAll;
338
347
  const packAndUnit = (qtity, qtityPerPackaging = 0) => {
339
348
  if (qtityPerPackaging === 0) {
340
- return qtity + ' u';
349
+ return qtity + " u";
341
350
  }
342
351
  const pack = Math.floor(qtity / qtityPerPackaging);
343
352
  const unit = qtity % qtityPerPackaging;
344
- return pack + ' c et ' + unit + ' u';
353
+ return pack + " c et " + unit + " u";
345
354
  };
346
355
  exports.packAndUnit = packAndUnit;
347
- const convertToCfa = (price, currency = 'fcfa', dollarRate = 600) => {
356
+ const convertToCfa = (price, currency = "fcfa", dollarRate = 600) => {
348
357
  switch (currency.toLowerCase()) {
349
- case 'eur':
358
+ case "eur":
350
359
  return price * 655.95;
351
- case 'usd':
360
+ case "usd":
352
361
  return price * dollarRate; //579.50
353
- case 'fcfa':
362
+ case "fcfa":
354
363
  return price;
355
364
  default:
356
365
  return price;
@@ -359,7 +368,7 @@ const convertToCfa = (price, currency = 'fcfa', dollarRate = 600) => {
359
368
  exports.convertToCfa = convertToCfa;
360
369
  const validEmail = (email) => {
361
370
  // const regexEmail = '/^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/'
362
- if (email !== '' && email.toLowerCase().match(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/)) {
371
+ if (email !== "" && email.toLowerCase().match(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/)) {
363
372
  return true;
364
373
  }
365
374
  return false;
@@ -367,7 +376,7 @@ const validEmail = (email) => {
367
376
  };
368
377
  exports.validEmail = validEmail;
369
378
  const calculPercent = (nbr, percentage) => {
370
- return nbr * percentage / 100;
379
+ return (nbr * percentage) / 100;
371
380
  };
372
381
  exports.calculPercent = calculPercent;
373
382
  const padStartWithZero = (num, targetLength) => {
@@ -0,0 +1,3 @@
1
+ export declare const getStorage: (key: string, local?: boolean) => string;
2
+ export declare const setStorage: (key: string, value: string, local?: boolean) => void;
3
+ export declare const removeStorage: (key: string) => void;
@@ -0,0 +1,16 @@
1
+ export const getStorage = (key, local = false) => {
2
+ if (!key) {
3
+ return null;
4
+ }
5
+ return !local ? sessionStorage.getItem(key) : localStorage.getItem(key);
6
+ };
7
+ export const setStorage = (key, value, local = false) => {
8
+ /* if (!key) {
9
+ return null;
10
+ } */
11
+ !local ? sessionStorage.setItem(key, value) : localStorage.setItem(key, value);
12
+ };
13
+ export const removeStorage = (key) => {
14
+ localStorage.removeItem(key);
15
+ sessionStorage.removeItem(key);
16
+ };
@@ -16,6 +16,13 @@ export declare const displayDateRangeFr: (getFromDate?: any, getToDate?: any) =>
16
16
  export declare const getNbOfDaysBetweenTwoDates: (date1: Date, date2: Date) => number;
17
17
  export declare const getRandomColor: (brightness: number) => string;
18
18
  export declare const removeDuplicates: (tab: any[]) => any[];
19
+ /**
20
+ * remove duplicates from array by crietere (key)
21
+ * @param tobs
22
+ * @param key
23
+ * @returns
24
+ */
25
+ export declare const removeDuplicatesByKey: (tobs: any[], key: string) => any[];
19
26
  export declare const toObjectDate: (fromDate: any, toDate: string) => {
20
27
  fromDate: any;
21
28
  toDate: string;