topkat-utils 1.1.13 → 1.2.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.
Files changed (97) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/dist/index.d.ts +36 -0
  3. package/dist/index.js +58 -0
  4. package/dist/index.js.map +1 -0
  5. package/dist/src/array-utils.d.ts +56 -0
  6. package/dist/src/array-utils.js +160 -0
  7. package/dist/src/array-utils.js.map +1 -0
  8. package/dist/src/clean-stack-trace.d.ts +1 -0
  9. package/dist/src/clean-stack-trace.js +46 -0
  10. package/dist/src/clean-stack-trace.js.map +1 -0
  11. package/dist/src/config.d.ts +44 -0
  12. package/dist/src/config.js +66 -0
  13. package/dist/src/config.js.map +1 -0
  14. package/dist/src/date-utils.d.ts +100 -0
  15. package/dist/src/date-utils.js +407 -0
  16. package/dist/src/date-utils.js.map +1 -0
  17. package/dist/src/env-utils.d.ts +8 -0
  18. package/dist/src/env-utils.js +38 -0
  19. package/dist/src/env-utils.js.map +1 -0
  20. package/dist/src/error-utils.d.ts +29 -0
  21. package/dist/src/error-utils.js +202 -0
  22. package/dist/src/error-utils.js.map +1 -0
  23. package/dist/src/is-empty.d.ts +1 -0
  24. package/dist/src/is-empty.js +13 -0
  25. package/dist/src/is-empty.js.map +1 -0
  26. package/dist/src/is-object.d.ts +2 -0
  27. package/dist/src/is-object.js +7 -0
  28. package/dist/src/is-object.js.map +1 -0
  29. package/dist/src/isset.d.ts +1 -0
  30. package/dist/src/isset.js +12 -0
  31. package/dist/src/isset.js.map +1 -0
  32. package/dist/src/logger-utils.d.ts +76 -0
  33. package/dist/src/logger-utils.js +484 -0
  34. package/dist/src/logger-utils.js.map +1 -0
  35. package/dist/src/loop-utils.d.ts +40 -0
  36. package/dist/src/loop-utils.js +182 -0
  37. package/dist/src/loop-utils.js.map +1 -0
  38. package/dist/src/math-utils.d.ts +23 -0
  39. package/dist/src/math-utils.js +59 -0
  40. package/dist/src/math-utils.js.map +1 -0
  41. package/dist/src/mongo-utils.d.ts +11 -0
  42. package/dist/src/mongo-utils.js +63 -0
  43. package/dist/src/mongo-utils.js.map +1 -0
  44. package/dist/src/object-utils.d.ts +96 -0
  45. package/dist/src/object-utils.js +409 -0
  46. package/dist/src/object-utils.js.map +1 -0
  47. package/dist/src/private/config.d.ts +44 -0
  48. package/dist/src/private/config.js +66 -0
  49. package/dist/src/private/config.js.map +1 -0
  50. package/dist/src/private/error-handler.d.ts +10 -0
  51. package/dist/src/private/error-handler.js +46 -0
  52. package/dist/src/private/error-handler.js.map +1 -0
  53. package/dist/src/private/types.d.ts +5 -0
  54. package/dist/src/private/types.js +3 -0
  55. package/dist/src/private/types.js.map +1 -0
  56. package/dist/src/regexp-utils.d.ts +12 -0
  57. package/dist/src/regexp-utils.js +45 -0
  58. package/dist/src/regexp-utils.js.map +1 -0
  59. package/dist/src/remove-circular-json-stringify.d.ts +1 -0
  60. package/dist/src/remove-circular-json-stringify.js +21 -0
  61. package/dist/src/remove-circular-json-stringify.js.map +1 -0
  62. package/dist/src/string-utils.d.ts +77 -0
  63. package/dist/src/string-utils.js +267 -0
  64. package/dist/src/string-utils.js.map +1 -0
  65. package/dist/src/tests-utils.d.ts +21 -0
  66. package/dist/src/tests-utils.js +80 -0
  67. package/dist/src/tests-utils.js.map +1 -0
  68. package/dist/src/timer-utils.d.ts +16 -0
  69. package/dist/src/timer-utils.js +146 -0
  70. package/dist/src/timer-utils.js.map +1 -0
  71. package/dist/src/transaction-utils.d.ts +14 -0
  72. package/dist/src/transaction-utils.js +157 -0
  73. package/dist/src/transaction-utils.js.map +1 -0
  74. package/dist/src/types.d.ts +5 -0
  75. package/dist/src/types.js +3 -0
  76. package/dist/src/types.js.map +1 -0
  77. package/dist/src/validation-utils.d.ts +80 -0
  78. package/dist/src/validation-utils.js +249 -0
  79. package/dist/src/validation-utils.js.map +1 -0
  80. package/dist/src/wtf-utils.d.ts +7 -0
  81. package/dist/src/wtf-utils.js +88 -0
  82. package/dist/src/wtf-utils.js.map +1 -0
  83. package/index.ts +1 -1
  84. package/package.json +1 -1
  85. package/src/clean-stack-trace.ts +40 -0
  86. package/src/config.ts +1 -1
  87. package/src/date-utils.ts +5 -5
  88. package/src/error-utils.ts +86 -44
  89. package/src/logger-utils.ts +2 -2
  90. package/src/loop-utils.ts +1 -1
  91. package/src/object-utils.ts +6 -6
  92. package/src/string-utils.ts +1 -1
  93. package/src/tests-utils.ts +2 -2
  94. package/src/timer-utils.ts +2 -2
  95. package/src/{private/types.ts → types.ts} +0 -0
  96. package/src/validation-utils.ts +8 -8
  97. package/src/private/error-handler.ts +0 -21
@@ -0,0 +1,407 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isDateIsoOrObjectValid = exports.isDateIntOrStringValid = exports.getDateAs = exports.differenceInWeeks = exports.differenceInDays = exports.differenceInHours = exports.differenceInMinutes = exports.differenceInSeconds = exports.differenceInMilliseconds = exports.firstDayOfMonth = exports.lastDayOfMonth = exports.getMinutes = exports.getHours = exports.getYear = exports.getDayOfMonth = exports.addYears = exports.addMonths = exports.addHours = exports.addMinutes = exports.addDays = exports.nextWeekDay = exports.doDateOverlap = exports.getDuration = exports.isTimeStringValid = exports.getIntAsTime = exports.getTimeAsInt = exports.dateOffset = exports.dateFormatted = exports.dateArrayInt = exports.dateArray = exports.dateStringToArray = exports.getDateAsObject = exports.getMonthAsInt = exports.getDateAsInt = exports.humanReadableTimestamp = exports.getDateAsInt12 = void 0;
4
+ //----------------------------------------
5
+ // DATE UTILS
6
+ //----------------------------------------
7
+ var isset_1 = require("./isset");
8
+ var math_utils_1 = require("./math-utils");
9
+ var error_utils_1 = require("./error-utils");
10
+ var error_utils_2 = require("./error-utils");
11
+ var int = parseInt;
12
+ function getDateAsInt12(dateAllFormat, errIfNotValid) { return getDateAsInt(dateAllFormat, errIfNotValid, true); } // alias
13
+ exports.getDateAsInt12 = getDateAsInt12;
14
+ function humanReadableTimestamp(dateAllFormat) {
15
+ if ((0, isset_1.isset)(dateAllFormat))
16
+ dateAllFormat = getDateAsObject(dateAllFormat);
17
+ return parseInt(getDateAsInt12(dateAllFormat) + (0, math_utils_1.pad)((dateAllFormat || new Date()).getUTCSeconds()) + (0, math_utils_1.pad)((dateAllFormat || new Date()).getUTCMilliseconds(), 3));
18
+ }
19
+ exports.humanReadableTimestamp = humanReadableTimestamp;
20
+ /** format for 6/8/2018 => 20180806
21
+ * @param dateAllFormat multiple format allowed 2012, 20120101, 201201011200, new Date(), "2019-12-08T16:19:10.341Z" and all string that new Date() can parse
22
+ */
23
+ function getDateAsInt(dateAllFormat, errIfNotValid$, withHoursAndMinutes$) {
24
+ if (dateAllFormat === void 0) { dateAllFormat = new Date(); }
25
+ if (errIfNotValid$ === void 0) { errIfNotValid$ = false; }
26
+ if (withHoursAndMinutes$ === void 0) { withHoursAndMinutes$ = false; }
27
+ var dateInt;
28
+ if (typeof dateAllFormat === 'string' && dateAllFormat.includes('/')) {
29
+ // 01/01/2020 format
30
+ var _a = dateAllFormat.split('/'), d = _a[0], m = _a[1], y = _a[2];
31
+ return y + m.toString().padStart(2, '0') + d.toString().padStart(2, '0');
32
+ }
33
+ else if (isDateIntOrStringValid(dateAllFormat)) {
34
+ // we can pass an int or string format (20180106)
35
+ dateInt = (dateAllFormat + '00000000').substr(0, 12); // add default 000000 for "month days minutes:sec" if not set
36
+ }
37
+ else {
38
+ var date = dateAllFormat;
39
+ if (typeof date === 'string')
40
+ date = new Date(date);
41
+ var realDate = date;
42
+ //let dateArr = dateAllFormat.toString().split(); // we cannot use ISOString
43
+ dateInt = '' + realDate.getUTCFullYear() + (0, math_utils_1.pad)(realDate.getUTCMonth() + 1) + (0, math_utils_1.pad)(realDate.getUTCDate()) + (0, math_utils_1.pad)(realDate.getUTCHours()) + (0, math_utils_1.pad)(realDate.getUTCMinutes());
44
+ }
45
+ isDateIntOrStringValid(dateInt, errIfNotValid$);
46
+ return (withHoursAndMinutes$ ? dateInt : dateInt.substr(0, 8));
47
+ }
48
+ exports.getDateAsInt = getDateAsInt;
49
+ function getMonthAsInt(dateAllFormat) {
50
+ if (dateAllFormat === void 0) { dateAllFormat = new Date(); }
51
+ var dateInt;
52
+ if (isDateIntOrStringValid(dateAllFormat)) {
53
+ // we can pass an int or string format (20180106)
54
+ dateInt = (dateAllFormat + '').substr(0, 6);
55
+ }
56
+ else {
57
+ var date = dateAllFormat;
58
+ if (typeof date === 'string')
59
+ date = new Date(date);
60
+ //let dateArr = dateAllFormat.toString().split(); // we cannot use ISOString
61
+ dateInt = '' + date.getUTCFullYear() + (0, math_utils_1.pad)(date.getUTCMonth() + 1);
62
+ }
63
+ return int(dateInt);
64
+ }
65
+ exports.getMonthAsInt = getMonthAsInt;
66
+ /**
67
+ * @param dateAllFormat multiple format allowed 2012, 20120101, 201201011200, new Date(), "2019-12-08T16:19:10.341Z" and all string that new Date() can parse
68
+ */
69
+ function getDateAsObject(dateAllFormat, errIfNotValid$) {
70
+ if (dateAllFormat === void 0) { dateAllFormat = new Date(); }
71
+ if (errIfNotValid$ === void 0) { errIfNotValid$ = true; }
72
+ var dateObj = dateAllFormat;
73
+ if (isDateIntOrStringValid(dateAllFormat)) {
74
+ var _a = dateStringToArray(dateAllFormat), y = _a[0], M = _a[1], d = _a[2], h = _a[3], m = _a[4];
75
+ dateObj = new Date("".concat(y, "-").concat(M, "-").concat(d, "T").concat(h, ":").concat(m));
76
+ }
77
+ else if (typeof dateAllFormat === 'string') {
78
+ dateObj = new Date(dateAllFormat);
79
+ }
80
+ else {
81
+ dateObj = new Date(dateAllFormat.getTime()); // clone
82
+ }
83
+ isDateIsoOrObjectValid(dateObj, errIfNotValid$);
84
+ return dateObj;
85
+ }
86
+ exports.getDateAsObject = getDateAsObject;
87
+ /** [2018,01,06] */
88
+ function dateStringToArray(strOrInt) {
89
+ (0, error_utils_2.err422IfNotSet)({ strOrInt: strOrInt });
90
+ var dateStr = strOrInt.toString();
91
+ return [
92
+ dateStr.substr(0, 4),
93
+ dateStr.substr(4, 2) || '01',
94
+ dateStr.substr(6, 2) || '01',
95
+ dateStr.substr(8, 2) || '12',
96
+ dateStr.substr(10, 2) || '00',
97
+ dateStr.substr(12, 2) || '00',
98
+ dateStr.substr(14, 3) || '000', // MS
99
+ ];
100
+ }
101
+ exports.dateStringToArray = dateStringToArray;
102
+ /**
103
+ * @param dateAllFormat default: actualDate
104
+ * @returns ['01', '01', '2019'] OR **string** if separator is provided */
105
+ function dateArray(dateAllFormat) {
106
+ if (dateAllFormat === void 0) { dateAllFormat = getDateAsInt(); }
107
+ var dateStr = getDateAsInt(dateAllFormat).toString();
108
+ return [
109
+ dateStr.substr(6, 2),
110
+ dateStr.substr(4, 2),
111
+ dateStr.substr(0, 4), // Y
112
+ ];
113
+ }
114
+ exports.dateArray = dateArray;
115
+ /**
116
+ * @param dateAllFormat default: actualDate
117
+ * @returns ['01', '01', '2019'] OR **string** if separator is provided */
118
+ function dateArrayInt(dateAllFormat) {
119
+ if (dateAllFormat === void 0) { dateAllFormat = getDateAsInt(); }
120
+ var dateStr = getDateAsInt(dateAllFormat).toString();
121
+ return [
122
+ int(dateStr.substr(6, 2)),
123
+ int(dateStr.substr(4, 2)),
124
+ int(dateStr.substr(0, 4)), // Y
125
+ ];
126
+ }
127
+ exports.dateArrayInt = dateArrayInt;
128
+ /**
129
+ * @return 01/01/2012 (alias of dateArrayFormatted(date, '/'))
130
+ */
131
+ function dateFormatted(dateAllFormat, separator) {
132
+ if (separator === void 0) { separator = '/'; }
133
+ return dateArray(dateAllFormat).join(separator);
134
+ }
135
+ exports.dateFormatted = dateFormatted;
136
+ /** Date with custom offset (Ex: +2 for France) */
137
+ function dateOffset(offsetHours, dateObj) {
138
+ if (dateObj === void 0) { dateObj = new Date(); }
139
+ var utc = Date.UTC(dateObj.getUTCFullYear(), dateObj.getUTCMonth(), dateObj.getUTCDate(), dateObj.getUTCHours(), dateObj.getUTCMinutes(), dateObj.getUTCSeconds());
140
+ return new Date(utc + (3600000 * offsetHours));
141
+ }
142
+ exports.dateOffset = dateOffset;
143
+ //----------------------------------------
144
+ // TIME UTILS
145
+ //----------------------------------------
146
+ /** */
147
+ function getTimeAsInt(timeOrDateInt) {
148
+ if (timeOrDateInt === void 0) { timeOrDateInt = getDateAsInt12(); }
149
+ if (isDateIntOrStringValid(timeOrDateInt)) {
150
+ var tl = timeOrDateInt.toString().length;
151
+ return int(timeOrDateInt.toString().substring(tl - 4, tl));
152
+ }
153
+ else if (typeof timeOrDateInt === 'string' && timeOrDateInt.length === 5 && timeOrDateInt.includes(':'))
154
+ return int(timeOrDateInt.replace(':', ''));
155
+ else
156
+ return 'dateInvalid';
157
+ }
158
+ exports.getTimeAsInt = getTimeAsInt;
159
+ /**
160
+ * @param {timeInt|dateInt12} Eg: 2222 OR 201201012222. Default, actual dateInt12
161
+ * @param {String} separator default: ":"
162
+ */
163
+ function getIntAsTime(intOrDateTimeInt, separator) {
164
+ if (intOrDateTimeInt === void 0) { intOrDateTimeInt = getDateAsInt12(); }
165
+ if (separator === void 0) { separator = ':'; }
166
+ var time = intOrDateTimeInt.toString().padStart(4, '0');
167
+ var tl = time.length;
168
+ return time.substring(tl - 4, tl - 2) + separator + time.substring(tl - 2, tl);
169
+ }
170
+ exports.getIntAsTime = getIntAsTime;
171
+ function isTimeStringValid(timeStr, outputAnError$) {
172
+ if (outputAnError$ === void 0) { outputAnError$ = false; }
173
+ var timeArr = timeStr.split(':');
174
+ var h = int(timeArr[0]);
175
+ var m = int(timeArr[1]);
176
+ var test1 = h >= 0 && h < 24;
177
+ var test2 = m >= 0 && m < 60;
178
+ if (outputAnError$ && !(test1 && test2))
179
+ throw new error_utils_1.DescriptiveError('timeStringOutOfRange', { code: 422, origin: 'Time validator' });
180
+ else
181
+ return test1 && test2;
182
+ }
183
+ exports.isTimeStringValid = isTimeStringValid;
184
+ //----------------------------------------
185
+ // DURATIONS
186
+ //----------------------------------------
187
+ function getDuration(startDate, endDate, inMinutes) {
188
+ if (inMinutes === void 0) { inMinutes = false; }
189
+ var startDateO = getDateAsObject(startDate);
190
+ var endDateO = getDateAsObject(endDate);
191
+ var diffInSec = Math.floor(endDateO.getTime() / 1000) - Math.floor(startDateO.getTime() / 1000);
192
+ if (inMinutes)
193
+ return Math.floor(diffInSec / 60);
194
+ else
195
+ return [
196
+ Math.floor(diffInSec / (24 * 3600)),
197
+ Math.floor((diffInSec % (24 * 3600)) / 3600),
198
+ Math.floor(((diffInSec % (24 * 3600)) % 3600) / 60), // M
199
+ ];
200
+ }
201
+ exports.getDuration = getDuration;
202
+ /** compare two object with DATE INT, if they overlap return true
203
+ * @param {Object} event1 {startDate, endDate}
204
+ * @param {Object} event2 {startDate, endDate}
205
+ * @param {String} fieldNameForStartDate$ replace startDate with this string
206
+ * @param {String} fieldNameForEndDate$ replace endDate with this string
207
+ * @param {Boolean} allowNull$ if false, retrun false if any of the startdates or enddates are not set
208
+ * @param {Boolean} strict$ if true,
209
+ */
210
+ function doDateOverlap(event1, event2, fieldNameForStartDate$, fieldNameForEndDate$, allowNull$, strict$) {
211
+ if (fieldNameForStartDate$ === void 0) { fieldNameForStartDate$ = 'startDate'; }
212
+ if (fieldNameForEndDate$ === void 0) { fieldNameForEndDate$ = 'endDate'; }
213
+ if (allowNull$ === void 0) { allowNull$ = true; }
214
+ if (strict$ === void 0) { strict$ = false; }
215
+ if (!allowNull$ && !(0, isset_1.isset)(event1[fieldNameForStartDate$], event1[fieldNameForEndDate$], event2[fieldNameForStartDate$], event2[fieldNameForEndDate$]))
216
+ return false;
217
+ if (strict$)
218
+ return (!event2[fieldNameForEndDate$] || event1[fieldNameForStartDate$] < event2[fieldNameForEndDate$]) && (!event1[fieldNameForEndDate$] || event1[fieldNameForEndDate$] > event2[fieldNameForStartDate$]);
219
+ return (!event2[fieldNameForEndDate$] || event1[fieldNameForStartDate$] <= event2[fieldNameForEndDate$]) && (!event1[fieldNameForEndDate$] || event1[fieldNameForEndDate$] >= event2[fieldNameForStartDate$]);
220
+ }
221
+ exports.doDateOverlap = doDateOverlap;
222
+ function nextWeekDay(fromDate, weekDayInt, outputFormat, sameDayAllowed) {
223
+ if (outputFormat === void 0) { outputFormat = 'date'; }
224
+ if (sameDayAllowed === void 0) { sameDayAllowed = false; }
225
+ var date = getDateAsObject(fromDate);
226
+ if (!(0, isset_1.isset)(weekDayInt))
227
+ weekDayInt = date.getDay();
228
+ var toAdd = !sameDayAllowed && date.getDay() === weekDayInt ? 7 : 0;
229
+ date.setUTCDate(date.getUTCDate() + toAdd + (7 + weekDayInt - date.getUTCDay()) % 7);
230
+ return getDateAs(date, outputFormat);
231
+ }
232
+ exports.nextWeekDay = nextWeekDay;
233
+ function addDays(dateAllFormat, numberOfDays, outputFormat) {
234
+ if (dateAllFormat === void 0) { dateAllFormat = getDateAsInt(); }
235
+ if (numberOfDays === void 0) { numberOfDays = 1; }
236
+ if (outputFormat === void 0) { outputFormat = 'date'; }
237
+ var date = getDateAsObject(dateAllFormat);
238
+ date.setTime(date.getTime() + numberOfDays * 24 * 60 * 60 * 1000);
239
+ return getDateAs(date, outputFormat);
240
+ }
241
+ exports.addDays = addDays;
242
+ function addMinutes(dateAllFormat, numberOfMinutes, outputFormat) {
243
+ if (dateAllFormat === void 0) { dateAllFormat = getDateAsInt(); }
244
+ if (numberOfMinutes === void 0) { numberOfMinutes = 1; }
245
+ if (outputFormat === void 0) { outputFormat = 'date'; }
246
+ var date = getDateAsObject(dateAllFormat);
247
+ date.setTime(date.getTime() + 1 * numberOfMinutes * 60 * 1000);
248
+ return getDateAs(date, outputFormat);
249
+ }
250
+ exports.addMinutes = addMinutes;
251
+ function addHours(dateAllFormat, numberOfHours, outputFormat) {
252
+ if (dateAllFormat === void 0) { dateAllFormat = getDateAsInt(); }
253
+ if (numberOfHours === void 0) { numberOfHours = 1; }
254
+ if (outputFormat === void 0) { outputFormat = 'date'; }
255
+ var date = getDateAsObject(dateAllFormat);
256
+ date.setTime(date.getTime() + 1 * numberOfHours * 60 * 60 * 1000);
257
+ return getDateAs(date, outputFormat);
258
+ }
259
+ exports.addHours = addHours;
260
+ function addMonths(dateAllFormat, numberOfMonths, outputFormat) {
261
+ if (dateAllFormat === void 0) { dateAllFormat = getDateAsInt(); }
262
+ if (numberOfMonths === void 0) { numberOfMonths = 1; }
263
+ if (outputFormat === void 0) { outputFormat = 'date'; }
264
+ var date = getDateAsObject(dateAllFormat);
265
+ date.setUTCMonth(date.getUTCMonth() + numberOfMonths);
266
+ return getDateAs(date, outputFormat);
267
+ }
268
+ exports.addMonths = addMonths;
269
+ /**
270
+ * @param {String} outputFormat dateInt, dateInt8, dateInt12, date, humanReadableTimestamp, int (dateInt8)
271
+ */
272
+ function addYears(dateAllFormat, numberOfYears, outputFormat) {
273
+ if (dateAllFormat === void 0) { dateAllFormat = getDateAsInt(); }
274
+ if (numberOfYears === void 0) { numberOfYears = 1; }
275
+ if (outputFormat === void 0) { outputFormat = 'date'; }
276
+ var date = getDateAsObject(dateAllFormat);
277
+ date.setUTCFullYear(date.getUTCFullYear() + numberOfYears);
278
+ return getDateAs(date, outputFormat);
279
+ }
280
+ exports.addYears = addYears;
281
+ function getDayOfMonth(dateAllFormat) {
282
+ if (dateAllFormat === void 0) { dateAllFormat = getDateAsInt(); }
283
+ var dateAsInt = getDateAsInt(dateAllFormat);
284
+ var _a = dateStringToArray(dateAsInt), d = _a[2];
285
+ return d;
286
+ }
287
+ exports.getDayOfMonth = getDayOfMonth;
288
+ function getYear(dateAllFormat) {
289
+ if (dateAllFormat === void 0) { dateAllFormat = getDateAsInt(); }
290
+ var dateAsInt = getDateAsInt(dateAllFormat);
291
+ var y = dateStringToArray(dateAsInt)[0];
292
+ return y;
293
+ }
294
+ exports.getYear = getYear;
295
+ function getHours(dateAllFormat) {
296
+ if (dateAllFormat === void 0) { dateAllFormat = getDateAsInt(); }
297
+ var dateAsInt = getDateAsInt(dateAllFormat);
298
+ var _a = dateStringToArray(dateAsInt), h = _a[3];
299
+ return h;
300
+ }
301
+ exports.getHours = getHours;
302
+ function getMinutes(dateAllFormat) {
303
+ if (dateAllFormat === void 0) { dateAllFormat = getDateAsInt(); }
304
+ var dateAsInt = getDateAsInt(dateAllFormat);
305
+ var _a = dateStringToArray(dateAsInt), m = _a[4];
306
+ return m;
307
+ }
308
+ exports.getMinutes = getMinutes;
309
+ /**
310
+ * @param {String} outputFormat dateInt, dateInt8, dateInt12, date, humanReadableTimestamp, int (dateInt8)
311
+ */
312
+ function lastDayOfMonth(dateAllFormat, outputFormat) {
313
+ if (dateAllFormat === void 0) { dateAllFormat = getDateAsInt(); }
314
+ if (outputFormat === void 0) { outputFormat = 'date'; }
315
+ var date = getDateAsObject(dateAllFormat);
316
+ var lastDay = new Date(date.getUTCFullYear(), date.getUTCMonth() + 1, 0);
317
+ lastDay.setUTCHours(date.getUTCHours(), date.getUTCMinutes(), date.getUTCSeconds(), date.getUTCMilliseconds());
318
+ return getDateAs(lastDay, outputFormat);
319
+ }
320
+ exports.lastDayOfMonth = lastDayOfMonth;
321
+ /**
322
+ * @param {String} outputFormat dateInt, dateInt8, dateInt12, date, humanReadableTimestamp, int (dateInt8)
323
+ */
324
+ function firstDayOfMonth(dateAllFormat, outputFormat) {
325
+ if (dateAllFormat === void 0) { dateAllFormat = getDateAsInt(); }
326
+ if (outputFormat === void 0) { outputFormat = 'date'; }
327
+ var date = getDateAsObject(dateAllFormat);
328
+ var firstDay = new Date(date.getUTCFullYear(), date.getUTCMonth(), 1);
329
+ firstDay.setUTCHours(date.getUTCHours(), date.getUTCMinutes(), date.getUTCSeconds(), date.getUTCMilliseconds());
330
+ return getDateAs(firstDay, outputFormat);
331
+ }
332
+ exports.firstDayOfMonth = firstDayOfMonth;
333
+ function differenceInMilliseconds(startDateAllFormat, endDateAllFormat) {
334
+ var startDate = getDateAsObject(startDateAllFormat);
335
+ var endDate = getDateAsObject(endDateAllFormat);
336
+ return endDate.getTime() - startDate.getTime();
337
+ }
338
+ exports.differenceInMilliseconds = differenceInMilliseconds;
339
+ function differenceInSeconds(startDateAllFormat, endDateAllFormat) {
340
+ return differenceInMilliseconds(startDateAllFormat, endDateAllFormat) / 1000;
341
+ }
342
+ exports.differenceInSeconds = differenceInSeconds;
343
+ function differenceInMinutes(startDateAllFormat, endDateAllFormat) {
344
+ return differenceInSeconds(startDateAllFormat, endDateAllFormat) / 60;
345
+ }
346
+ exports.differenceInMinutes = differenceInMinutes;
347
+ function differenceInHours(startDateAllFormat, endDateAllFormat) {
348
+ return differenceInMinutes(startDateAllFormat, endDateAllFormat) / 60;
349
+ }
350
+ exports.differenceInHours = differenceInHours;
351
+ function differenceInDays(startDateAllFormat, endDateAllFormat) {
352
+ return differenceInHours(startDateAllFormat, endDateAllFormat) / 24;
353
+ }
354
+ exports.differenceInDays = differenceInDays;
355
+ function differenceInWeeks(startDateAllFormat, endDateAllFormat) {
356
+ return differenceInDays(startDateAllFormat, endDateAllFormat) / 7;
357
+ }
358
+ exports.differenceInWeeks = differenceInWeeks;
359
+ function getDateAs(dateAllFormat, outputDateFormat) {
360
+ if (dateAllFormat === void 0) { dateAllFormat = new Date(); }
361
+ if (outputDateFormat === void 0) { outputDateFormat = 'date'; }
362
+ switch (outputDateFormat) {
363
+ case 'dateInt8':
364
+ return getDateAsInt(dateAllFormat);
365
+ case 'dateInt12':
366
+ return getDateAsInt12(dateAllFormat);
367
+ case 'humanReadableTimestamp':
368
+ return humanReadableTimestamp(dateAllFormat);
369
+ case 'date':
370
+ default:
371
+ return getDateAsObject(dateAllFormat);
372
+ }
373
+ }
374
+ exports.getDateAs = getDateAs;
375
+ function isDateIntOrStringValid(dateStringOrInt, outputAnError, length) {
376
+ if (outputAnError === void 0) { outputAnError = false; }
377
+ if (!(0, isset_1.isset)(dateStringOrInt))
378
+ return false;
379
+ var dateStr = dateStringOrInt.toString();
380
+ if (length && dateStr.length !== length)
381
+ throw new error_utils_1.DescriptiveError("wrongLengthForDateInt", { code: 422, origin: 'Date Int validator', dateStringOrInt: dateStringOrInt, extraInfo: "".concat(dateStringOrInt, " length !== ").concat(length) });
382
+ if ((typeof dateStringOrInt === 'object' && isNaN(int(dateStr))) || ![4, 6, 8, 10, 12, 17].includes(dateStr.length))
383
+ return false;
384
+ var dateArr = dateStringToArray(dateStringOrInt);
385
+ var y = dateArr[0], M = dateArr[1], d = dateArr[2], h = dateArr[3], m = dateArr[4];
386
+ var test1 = dateArr.length >= 3 && int(y) >= 1000; // Y
387
+ var test2 = int(M) <= 12 && int(M) > 0; // M
388
+ var test3 = !(0, isset_1.isset)(d) || int(d) <= 31 && int(d) > 0; // D
389
+ var test4 = !(0, isset_1.isset)(h) || (int(h) <= 23 && int(h) >= 0); // H
390
+ var test5 = !(0, isset_1.isset)(m) || (int(m) <= 59 && int(m) >= 0); // M
391
+ if (outputAnError && !(test1 && test2 && test3 && test4 && test5))
392
+ throw new error_utils_1.DescriptiveError("dateStringOrIntFormatInvalid", { code: 422, origin: 'Date Int validator', dateStringOrInt: dateStringOrInt, extraInfo: 'Needs YYYYMMDD[HHMM] between 100001010000 and 999912312359', dateArr: dateArr, isYearValid: test1, isMonthValid: test2, isDayValid: test3, isHourValid: test4, isMinutesValid: test5 });
393
+ return true;
394
+ }
395
+ exports.isDateIntOrStringValid = isDateIntOrStringValid;
396
+ function isDateIsoOrObjectValid(dateIsoOrObj, outputAnError) {
397
+ if (outputAnError === void 0) { outputAnError = false; }
398
+ var dateObj = dateIsoOrObj;
399
+ if (typeof dateIsoOrObj === 'string')
400
+ dateObj = new Date(dateIsoOrObj);
401
+ var valid = dateObj instanceof Date;
402
+ if (outputAnError && !valid)
403
+ throw new error_utils_1.DescriptiveError('dateIsoStringOrObjectIsNotValid', { code: 422, origin: 'Date Object validator', isoDate: dateIsoOrObj });
404
+ return valid;
405
+ }
406
+ exports.isDateIsoOrObjectValid = isDateIsoOrObjectValid;
407
+ //# sourceMappingURL=date-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"date-utils.js","sourceRoot":"","sources":["../../src/date-utils.ts"],"names":[],"mappings":";;;AAAA,0CAA0C;AAC1C,aAAa;AACb,0CAA0C;AAC1C,iCAA+B;AAC/B,2CAAkC;AAClC,6CAAgD;AAChD,6CAA8C;AAE9C,IAAM,GAAG,GAAG,QAAQ,CAAA;AAEpB,SAAgB,cAAc,CAAC,aAAsC,EAAE,aAAc,IAAY,OAAO,YAAY,CAAC,aAAa,EAAE,aAAa,EAAE,IAAI,CAAC,CAAA,CAAC,CAAC,CAAC,QAAQ;AAAnK,wCAA0J;AAE1J,SAAgB,sBAAsB,CAAC,aAAkB;IACrD,IAAI,IAAA,aAAK,EAAC,aAAa,CAAC;QAAE,aAAa,GAAG,eAAe,CAAC,aAAa,CAAC,CAAA;IACxE,OAAO,QAAQ,CAAC,cAAc,CAAC,aAAa,CAAC,GAAG,IAAA,gBAAG,EAAC,CAAC,aAAa,IAAI,IAAI,IAAI,EAAE,CAAC,CAAC,aAAa,EAAE,CAAC,GAAG,IAAA,gBAAG,EAAC,CAAC,aAAa,IAAI,IAAI,IAAI,EAAE,CAAC,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC,CAAC,CAAA;AACpK,CAAC;AAHD,wDAGC;AAED;;GAEG;AACH,SAAgB,YAAY,CAAC,aAAkD,EAAE,cAAsB,EAAE,oBAA4B;IAAxG,8BAAA,EAAA,oBAA4C,IAAI,EAAE;IAAE,+BAAA,EAAA,sBAAsB;IAAE,qCAAA,EAAA,4BAA4B;IACjI,IAAI,OAAO,CAAA;IACX,IAAI,OAAO,aAAa,KAAK,QAAQ,IAAI,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;QAClE,oBAAoB;QACd,IAAA,KAAY,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,EAAnC,CAAC,QAAA,EAAE,CAAC,QAAA,EAAE,CAAC,QAA4B,CAAA;QAC1C,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;KAC3E;SAAM,IAAI,sBAAsB,CAAC,aAAa,CAAC,EAAE;QAC9C,iDAAiD;QACjD,OAAO,GAAG,CAAC,aAAa,GAAG,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA,CAAC,6DAA6D;KACrH;SAAM;QACH,IAAI,IAAI,GAAQ,aAAa,CAAA;QAC7B,IAAI,OAAO,IAAI,KAAK,QAAQ;YAAE,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,CAAA;QACnD,IAAM,QAAQ,GAAS,IAAI,CAAA;QAC3B,4EAA4E;QAC5E,OAAO,GAAG,EAAE,GAAG,QAAQ,CAAC,cAAc,EAAE,GAAG,IAAA,gBAAG,EAAC,QAAQ,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,GAAG,IAAA,gBAAG,EAAC,QAAQ,CAAC,UAAU,EAAE,CAAC,GAAG,IAAA,gBAAG,EAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,GAAG,IAAA,gBAAG,EAAC,QAAQ,CAAC,aAAa,EAAE,CAAC,CAAA;KACxK;IACD,sBAAsB,CAAC,OAAO,EAAE,cAAc,CAAC,CAAA;IAC/C,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;AAClE,CAAC;AAlBD,oCAkBC;AAGD,SAAgB,aAAa,CAAC,aAAkD;IAAlD,8BAAA,EAAA,oBAA4C,IAAI,EAAE;IAC5E,IAAI,OAAO,CAAA;IACX,IAAI,sBAAsB,CAAC,aAAa,CAAC,EAAE;QACvC,iDAAiD;QACjD,OAAO,GAAG,CAAC,aAAa,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;KAC9C;SAAM;QACH,IAAI,IAAI,GAAQ,aAAa,CAAA;QAC7B,IAAI,OAAO,IAAI,KAAK,QAAQ;YAAE,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,CAAA;QACnD,4EAA4E;QAC5E,OAAO,GAAG,EAAE,GAAG,IAAI,CAAC,cAAc,EAAE,GAAG,IAAA,gBAAG,EAAC,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAA;KACrE;IACD,OAAO,GAAG,CAAC,OAAO,CAAC,CAAA;AACvB,CAAC;AAZD,sCAYC;AACD;;GAEG;AACH,SAAgB,eAAe,CAAC,aAA+B,EAAE,cAAqB;IAAtD,8BAAA,EAAA,oBAAyB,IAAI,EAAE;IAAE,+BAAA,EAAA,qBAAqB;IAClF,IAAI,OAAO,GAAG,aAAa,CAAA;IAC3B,IAAI,sBAAsB,CAAC,aAAa,CAAC,EAAE;QACjC,IAAA,KAAkB,iBAAiB,CAAC,aAAa,CAAC,EAAjD,CAAC,QAAA,EAAE,CAAC,QAAA,EAAE,CAAC,QAAA,EAAE,CAAC,QAAA,EAAE,CAAC,QAAoC,CAAA;QACxD,OAAO,GAAG,IAAI,IAAI,CAAC,UAAG,CAAC,cAAI,CAAC,cAAI,CAAC,cAAI,CAAC,cAAI,CAAC,CAAE,CAAC,CAAA;KACjD;SAAM,IAAI,OAAO,aAAa,KAAK,QAAQ,EAAE;QAC1C,OAAO,GAAG,IAAI,IAAI,CAAC,aAAa,CAAC,CAAA;KACpC;SAAM;QACH,OAAO,GAAG,IAAI,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC,CAAA,CAAC,QAAQ;KACvD;IACD,sBAAsB,CAAC,OAAO,EAAE,cAAc,CAAC,CAAA;IAC/C,OAAO,OAAO,CAAA;AAClB,CAAC;AAZD,0CAYC;AAED,mBAAmB;AACnB,SAAgB,iBAAiB,CAAC,QAAQ;IACtC,IAAA,4BAAc,EAAC,EAAE,QAAQ,UAAA,EAAE,CAAC,CAAA;IAE5B,IAAM,OAAO,GAAG,QAAQ,CAAC,QAAQ,EAAE,CAAA;IACnC,OAAO;QACH,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC;QACpB,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI;QAC5B,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI;QAC5B,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI;QAC5B,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,IAAI;QAC7B,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,IAAI;QAC7B,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,KAAK,EAAE,KAAK;KACxC,CAAA;AACL,CAAC;AAbD,8CAaC;AAED;;0EAE0E;AAC1E,SAAgB,SAAS,CAAC,aAAsD;IAAtD,8BAAA,EAAA,gBAAwC,YAAY,EAAE;IAC5E,IAAM,OAAO,GAAG,YAAY,CAAC,aAAa,CAAC,CAAC,QAAQ,EAAE,CAAA;IACtD,OAAO;QACH,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC;QACpB,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC;QACpB,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI;KAC7B,CAAA;AACL,CAAC;AAPD,8BAOC;AAED;;0EAE0E;AAC1E,SAAgB,YAAY,CAAC,aAAsD;IAAtD,8BAAA,EAAA,gBAAwC,YAAY,EAAE;IAC/E,IAAM,OAAO,GAAG,YAAY,CAAC,aAAa,CAAC,CAAC,QAAQ,EAAE,CAAA;IACtD,OAAO;QACH,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACzB,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACzB,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI;KAClC,CAAA;AACL,CAAC;AAPD,oCAOC;AAGD;;GAEG;AACH,SAAgB,aAAa,CAAC,aAAqC,EAAE,SAAe;IAAf,0BAAA,EAAA,eAAe;IAAI,OAAO,SAAS,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;AAAC,CAAC;AAAzI,sCAAyI;AAEzI,kDAAkD;AAClD,SAAgB,UAAU,CAAC,WAAW,EAAE,OAAoB;IAApB,wBAAA,EAAA,cAAc,IAAI,EAAE;IAExD,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,OAAO,CAAC,WAAW,EAAE,EAAE,OAAO,CAAC,UAAU,EAAE,EACpF,OAAO,CAAC,WAAW,EAAE,EAAE,OAAO,CAAC,aAAa,EAAE,EAAE,OAAO,CAAC,aAAa,EAAE,CAAC,CAAA;IAE5E,OAAO,IAAI,IAAI,CAAC,GAAG,GAAG,CAAC,OAAO,GAAG,WAAW,CAAC,CAAC,CAAA;AAClD,CAAC;AAND,gCAMC;AAED,0CAA0C;AAC1C,aAAa;AACb,0CAA0C;AAE1C,OAAO;AACP,SAAgB,YAAY,CAAC,aAAqC;IAArC,8BAAA,EAAA,gBAAqB,cAAc,EAAE;IAC9D,IAAI,sBAAsB,CAAC,aAAa,CAAC,EAAE;QACvC,IAAM,EAAE,GAAG,aAAa,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAA;QAC1C,OAAO,GAAG,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC,SAAS,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAA;KAC7D;SAAM,IAAI,OAAO,aAAa,KAAK,QAAQ,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,IAAI,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC;QACrG,OAAO,GAAG,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAA;;QACzC,OAAO,aAAa,CAAA;AAC7B,CAAC;AAPD,oCAOC;AAED;;;GAGG;AACH,SAAgB,YAAY,CAAC,gBAAmC,EAAE,SAAe;IAApD,iCAAA,EAAA,mBAAmB,cAAc,EAAE;IAAE,0BAAA,EAAA,eAAe;IAC7E,IAAM,IAAI,GAAG,gBAAgB,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;IACzD,IAAM,EAAE,GAAG,IAAI,CAAC,MAAM,CAAA;IACtB,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,GAAG,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAA;AAClF,CAAC;AAJD,oCAIC;AAED,SAAgB,iBAAiB,CAAC,OAAO,EAAE,cAAsB;IAAtB,+BAAA,EAAA,sBAAsB;IAC7D,IAAI,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAChC,IAAI,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAA;IACvB,IAAI,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAA;IACvB,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAA;IAC5B,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAA;IAC5B,IAAI,cAAc,IAAI,CAAC,CAAC,KAAK,IAAI,KAAK,CAAC;QAAE,MAAM,IAAI,8BAAgB,CAAC,sBAAsB,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC,CAAA;;QAC/H,OAAO,KAAK,IAAI,KAAK,CAAA;AAC9B,CAAC;AARD,8CAQC;AAED,0CAA0C;AAC1C,YAAY;AACZ,0CAA0C;AAE1C,SAAgB,WAAW,CAAC,SAAS,EAAE,OAAO,EAAE,SAAiB;IAAjB,0BAAA,EAAA,iBAAiB;IAC7D,IAAM,UAAU,GAAG,eAAe,CAAC,SAAS,CAAC,CAAA;IAC7C,IAAM,QAAQ,GAAG,eAAe,CAAC,OAAO,CAAC,CAAA;IACzC,IAAI,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAA;IAE/F,IAAI,SAAS;QAAE,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,EAAE,CAAC,CAAA;;QAC3C,OAAO;YACR,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC;YACnC,IAAI,CAAC,KAAK,CAAC,CAAC,SAAS,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC;YAC5C,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,IAAI;SAC5D,CAAA;AACL,CAAC;AAXD,kCAWC;AAED;;;;;;;GAOG;AACH,SAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,sBAAoC,EAAE,oBAAgC,EAAE,UAAiB,EAAE,OAAe;IAA1G,uCAAA,EAAA,oCAAoC;IAAE,qCAAA,EAAA,gCAAgC;IAAE,2BAAA,EAAA,iBAAiB;IAAE,wBAAA,EAAA,eAAe;IACpJ,IAAI,CAAC,UAAU,IAAI,CAAC,IAAA,aAAK,EAAC,MAAM,CAAC,sBAAsB,CAAC,EAAE,MAAM,CAAC,oBAAoB,CAAC,EAAE,MAAM,CAAC,sBAAsB,CAAC,EAAE,MAAM,CAAC,oBAAoB,CAAC,CAAC;QAAE,OAAO,KAAK,CAAA;IAEnK,IAAI,OAAO;QACP,OAAO,CAAC,CAAC,MAAM,CAAC,oBAAoB,CAAC,IAAI,MAAM,CAAC,sBAAsB,CAAC,GAAG,MAAM,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,oBAAoB,CAAC,IAAI,MAAM,CAAC,oBAAoB,CAAC,GAAG,MAAM,CAAC,sBAAsB,CAAC,CAAC,CAAA;IAE/M,OAAO,CAAC,CAAC,MAAM,CAAC,oBAAoB,CAAC,IAAI,MAAM,CAAC,sBAAsB,CAAC,IAAI,MAAM,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,oBAAoB,CAAC,IAAI,MAAM,CAAC,oBAAoB,CAAC,IAAI,MAAM,CAAC,sBAAsB,CAAC,CAAC,CAAA;AACjN,CAAC;AAPD,sCAOC;AAQD,SAAgB,WAAW,CAAC,QAAQ,EAAE,UAAsC,EAAE,YAAqB,EAAE,cAAsB;IAA7C,6BAAA,EAAA,qBAAqB;IAAE,+BAAA,EAAA,sBAAsB;IACvH,IAAM,IAAI,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAA;IACtC,IAAI,CAAC,IAAA,aAAK,EAAC,UAAU,CAAC;QAAE,UAAU,GAAI,IAAI,CAAC,MAAM,EAAgC,CAAA;IACjF,IAAM,KAAK,GAAG,CAAC,cAAc,IAAI,IAAI,CAAC,MAAM,EAAE,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IACrE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,KAAK,GAAG,CAAC,CAAC,GAAG,UAAU,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC,GAAG,CAAC,CAAC,CAAA;IACpF,OAAO,SAAS,CAAC,IAAI,EAAE,YAAmB,CAAC,CAAA;AAC/C,CAAC;AAND,kCAMC;AAOD,SAAgB,OAAO,CAAC,aAAsD,EAAE,YAAgB,EAAE,YAAoC;IAA9G,8BAAA,EAAA,gBAAwC,YAAY,EAAE;IAAE,6BAAA,EAAA,gBAAgB;IAAE,6BAAA,EAAA,qBAAoC;IAClI,IAAI,IAAI,GAAG,eAAe,CAAC,aAAa,CAAC,CAAA;IACzC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,YAAY,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAA;IACjE,OAAO,SAAS,CAAC,IAAI,EAAE,YAAmB,CAAC,CAAA;AAC/C,CAAC;AAJD,0BAIC;AAOD,SAAgB,UAAU,CAAC,aAAsD,EAAE,eAAmB,EAAE,YAAoC;IAAjH,8BAAA,EAAA,gBAAwC,YAAY,EAAE;IAAE,gCAAA,EAAA,mBAAmB;IAAE,6BAAA,EAAA,qBAAoC;IACxI,IAAI,IAAI,GAAG,eAAe,CAAC,aAAa,CAAC,CAAA;IACzC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,GAAG,eAAe,GAAG,EAAE,GAAG,IAAI,CAAC,CAAA;IAC9D,OAAO,SAAS,CAAC,IAAI,EAAE,YAAmB,CAAC,CAAA;AAC/C,CAAC;AAJD,gCAIC;AAMD,SAAgB,QAAQ,CAAC,aAAsD,EAAE,aAAiB,EAAE,YAAoC;IAA/G,8BAAA,EAAA,gBAAwC,YAAY,EAAE;IAAE,8BAAA,EAAA,iBAAiB;IAAE,6BAAA,EAAA,qBAAoC;IACpI,IAAI,IAAI,GAAG,eAAe,CAAC,aAAa,CAAC,CAAA;IACzC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,GAAG,aAAa,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAA;IACjE,OAAO,SAAS,CAAC,IAAI,EAAE,YAAmB,CAAC,CAAA;AAC/C,CAAC;AAJD,4BAIC;AAMD,SAAgB,SAAS,CAAC,aAAsD,EAAE,cAAkB,EAAE,YAAoC;IAAhH,8BAAA,EAAA,gBAAwC,YAAY,EAAE;IAAE,+BAAA,EAAA,kBAAkB;IAAE,6BAAA,EAAA,qBAAoC;IACtI,IAAI,IAAI,GAAG,eAAe,CAAC,aAAa,CAAC,CAAA;IACzC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,cAAc,CAAC,CAAA;IACrD,OAAO,SAAS,CAAC,IAAI,EAAE,YAAmB,CAAC,CAAA;AAC/C,CAAC;AAJD,8BAIC;AACD;;GAEG;AACH,SAAgB,QAAQ,CAAC,aAAsD,EAAE,aAAiB,EAAE,YAAoC;IAA/G,8BAAA,EAAA,gBAAwC,YAAY,EAAE;IAAE,8BAAA,EAAA,iBAAiB;IAAE,6BAAA,EAAA,qBAAoC;IACpI,IAAI,IAAI,GAAG,eAAe,CAAC,aAAa,CAAC,CAAA;IACzC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,cAAc,EAAE,GAAG,aAAa,CAAC,CAAA;IAC1D,OAAO,SAAS,CAAC,IAAI,EAAE,YAAmB,CAAC,CAAA;AAC/C,CAAC;AAJD,4BAIC;AAED,SAAgB,aAAa,CAAC,aAAsD;IAAtD,8BAAA,EAAA,gBAAwC,YAAY,EAAE;IAChF,IAAI,SAAS,GAAG,YAAY,CAAC,aAAa,CAAC,CAAA;IACrC,IAAA,KAAU,iBAAiB,CAAC,SAAS,CAAC,EAAjC,CAAC,QAAgC,CAAA;IAC5C,OAAO,CAAC,CAAA;AACZ,CAAC;AAJD,sCAIC;AAED,SAAgB,OAAO,CAAC,aAAsD;IAAtD,8BAAA,EAAA,gBAAwC,YAAY,EAAE;IAC1E,IAAI,SAAS,GAAG,YAAY,CAAC,aAAa,CAAC,CAAA;IACpC,IAAA,CAAC,GAAI,iBAAiB,CAAC,SAAS,CAAC,GAAhC,CAAgC;IACxC,OAAO,CAAC,CAAA;AACZ,CAAC;AAJD,0BAIC;AAGD,SAAgB,QAAQ,CAAC,aAAsD;IAAtD,8BAAA,EAAA,gBAAwC,YAAY,EAAE;IAC3E,IAAI,SAAS,GAAG,YAAY,CAAC,aAAa,CAAC,CAAA;IACrC,IAAA,KAAa,iBAAiB,CAAC,SAAS,CAAC,EAAlC,CAAC,QAAiC,CAAA;IAC/C,OAAO,CAAC,CAAA;AACZ,CAAC;AAJD,4BAIC;AAED,SAAgB,UAAU,CAAC,aAAsD;IAAtD,8BAAA,EAAA,gBAAwC,YAAY,EAAE;IAC7E,IAAI,SAAS,GAAG,YAAY,CAAC,aAAa,CAAC,CAAA;IACrC,IAAA,KAAc,iBAAiB,CAAC,SAAS,CAAC,EAAjC,CAAC,QAAgC,CAAA;IAChD,OAAO,CAAC,CAAA;AACZ,CAAC;AAJD,gCAIC;AAED;;GAEG;AACH,SAAgB,cAAc,CAAC,aAAsD,EAAE,YAAoC;IAA5F,8BAAA,EAAA,gBAAwC,YAAY,EAAE;IAAE,6BAAA,EAAA,qBAAoC;IACvH,IAAI,IAAI,GAAG,eAAe,CAAC,aAAa,CAAC,CAAA;IACzC,IAAM,OAAO,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;IAC1E,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,aAAa,EAAE,EAAE,IAAI,CAAC,aAAa,EAAE,EAAE,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAA;IAC9G,OAAO,SAAS,CAAC,OAAO,EAAE,YAAmB,CAAC,CAAA;AAClD,CAAC;AALD,wCAKC;AAED;;GAEG;AACH,SAAgB,eAAe,CAAC,aAAsD,EAAE,YAAoC;IAA5F,8BAAA,EAAA,gBAAwC,YAAY,EAAE;IAAE,6BAAA,EAAA,qBAAoC;IACxH,IAAI,IAAI,GAAG,eAAe,CAAC,aAAa,CAAC,CAAA;IACzC,IAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAA;IACvE,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,aAAa,EAAE,EAAE,IAAI,CAAC,aAAa,EAAE,EAAE,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAA;IAC/G,OAAO,SAAS,CAAC,QAAQ,EAAE,YAAmB,CAAC,CAAA;AACnD,CAAC;AALD,0CAKC;AAED,SAAgB,wBAAwB,CAAC,kBAAkB,EAAE,gBAAgB;IACzE,IAAM,SAAS,GAAG,eAAe,CAAC,kBAAkB,CAAC,CAAA;IACrD,IAAM,OAAO,GAAG,eAAe,CAAC,gBAAgB,CAAC,CAAA;IACjD,OAAO,OAAO,CAAC,OAAO,EAAE,GAAG,SAAS,CAAC,OAAO,EAAE,CAAA;AAClD,CAAC;AAJD,4DAIC;AAED,SAAgB,mBAAmB,CAAC,kBAAkB,EAAE,gBAAgB;IACpE,OAAO,wBAAwB,CAAC,kBAAkB,EAAE,gBAAgB,CAAC,GAAG,IAAI,CAAA;AAChF,CAAC;AAFD,kDAEC;AAED,SAAgB,mBAAmB,CAAC,kBAAkB,EAAE,gBAAgB;IACpE,OAAO,mBAAmB,CAAC,kBAAkB,EAAE,gBAAgB,CAAC,GAAG,EAAE,CAAA;AACzE,CAAC;AAFD,kDAEC;AAED,SAAgB,iBAAiB,CAAC,kBAAkB,EAAE,gBAAgB;IAClE,OAAO,mBAAmB,CAAC,kBAAkB,EAAE,gBAAgB,CAAC,GAAG,EAAE,CAAA;AACzE,CAAC;AAFD,8CAEC;AAED,SAAgB,gBAAgB,CAAC,kBAAkB,EAAE,gBAAgB;IACjE,OAAO,iBAAiB,CAAC,kBAAkB,EAAE,gBAAgB,CAAC,GAAG,EAAE,CAAA;AACvE,CAAC;AAFD,4CAEC;AAED,SAAgB,iBAAiB,CAAC,kBAAkB,EAAE,gBAAgB;IAClE,OAAO,gBAAgB,CAAC,kBAAkB,EAAE,gBAAgB,CAAC,GAAG,CAAC,CAAA;AACrE,CAAC;AAFD,8CAEC;AAOD,SAAgB,SAAS,CAAC,aAAkD,EAAE,gBAAwC;IAA5F,8BAAA,EAAA,oBAA4C,IAAI,EAAE;IAAE,iCAAA,EAAA,yBAAwC;IAClH,QAAQ,gBAAgB,EAAE;QACtB,KAAK,UAAU;YACX,OAAO,YAAY,CAAC,aAAa,CAAC,CAAA;QACtC,KAAK,WAAW;YACZ,OAAO,cAAc,CAAC,aAAa,CAAC,CAAA;QACxC,KAAK,wBAAwB;YACzB,OAAO,sBAAsB,CAAC,aAAa,CAAC,CAAA;QAChD,KAAK,MAAM,CAAC;QACZ;YACI,OAAO,eAAe,CAAC,aAAa,CAAC,CAAA;KAC5C;AACL,CAAC;AAZD,8BAYC;AAGD,SAAgB,sBAAsB,CAAC,eAAe,EAAE,aAAqB,EAAE,MAAO;IAA9B,8BAAA,EAAA,qBAAqB;IACzE,IAAI,CAAC,IAAA,aAAK,EAAC,eAAe,CAAC;QAAE,OAAO,KAAK,CAAA;IACzC,IAAM,OAAO,GAAG,eAAe,CAAC,QAAQ,EAAE,CAAA;IAE1C,IAAI,MAAM,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM;QAAE,MAAM,IAAI,8BAAgB,CAAC,uBAAuB,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,oBAAoB,EAAE,eAAe,EAAE,eAAe,EAAE,SAAS,EAAE,UAAG,eAAe,yBAAe,MAAM,CAAE,EAAE,CAAC,CAAA;IAEjO,IAAI,CAAC,OAAO,eAAe,KAAK,QAAQ,IAAI,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC;QAAE,OAAO,KAAK,CAAA;IAEjI,IAAM,OAAO,GAAG,iBAAiB,CAAC,eAAe,CAAC,CAAA;IAC3C,IAAA,CAAC,GAAgB,OAAO,GAAvB,EAAE,CAAC,GAAa,OAAO,GAApB,EAAE,CAAC,GAAU,OAAO,GAAjB,EAAE,CAAC,GAAO,OAAO,GAAd,EAAE,CAAC,GAAI,OAAO,GAAX,CAAW;IAE/B,IAAM,KAAK,GAAG,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,CAAA,CAAC,IAAI;IACxD,IAAM,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA,CAAC,IAAI;IAC7C,IAAM,KAAK,GAAG,CAAC,IAAA,aAAK,EAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA,CAAC,IAAI;IAC1D,IAAM,KAAK,GAAG,CAAC,IAAA,aAAK,EAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA,CAAC,IAAI;IAC7D,IAAM,KAAK,GAAG,CAAC,IAAA,aAAK,EAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA,CAAC,IAAI;IAE7D,IAAI,aAAa,IAAI,CAAC,CAAC,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,CAAC;QAAE,MAAM,IAAI,8BAAgB,CAAC,8BAA8B,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,oBAAoB,EAAE,eAAe,EAAE,eAAe,EAAE,SAAS,EAAE,4DAA4D,EAAE,OAAO,SAAA,EAAE,WAAW,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,CAAA;IACrY,OAAO,IAAI,CAAA;AACf,CAAC;AAnBD,wDAmBC;AAED,SAAgB,sBAAsB,CAAC,YAAY,EAAE,aAAqB;IAArB,8BAAA,EAAA,qBAAqB;IACtE,IAAI,OAAO,GAA2B,YAAY,CAAA;IAClD,IAAI,OAAO,YAAY,KAAK,QAAQ;QAAE,OAAO,GAAG,IAAI,IAAI,CAAC,YAAY,CAAC,CAAA;IACtE,IAAI,KAAK,GAAG,OAAO,YAAY,IAAI,CAAA;IACnC,IAAI,aAAa,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,8BAAgB,CAAC,iCAAiC,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,uBAAuB,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC,CAAA;IACjK,OAAO,KAAK,CAAA;AAChB,CAAC;AAND,wDAMC"}
@@ -0,0 +1,8 @@
1
+ /** Parse one dimention object undefined, true, false, null represented as string will be converted to primitives */
2
+ export declare function parseEnv(env: any): {};
3
+ /** READ ONLY, output a parsed version of process.env
4
+ * use it like ENV().myVar
5
+ */
6
+ export declare function ENV(): {
7
+ [key: string]: any;
8
+ };
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ //----------------------------------------
3
+ // ENV UTILS
4
+ //----------------------------------------
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.ENV = exports.parseEnv = void 0;
7
+ /** Parse one dimention object undefined, true, false, null represented as string will be converted to primitives */
8
+ function parseEnv(env) {
9
+ var newEnv = {};
10
+ for (var k in env) {
11
+ var val = env[k];
12
+ if (val === 'undefined')
13
+ newEnv[k] = undefined;
14
+ else if (val === 'true')
15
+ newEnv[k] = true;
16
+ else if (val === 'false')
17
+ newEnv[k] = false;
18
+ else if (val === 'null')
19
+ newEnv[k] = null;
20
+ else
21
+ newEnv[k] = env[k];
22
+ }
23
+ return newEnv;
24
+ }
25
+ exports.parseEnv = parseEnv;
26
+ /** READ ONLY, output a parsed version of process.env
27
+ * use it like ENV().myVar
28
+ */
29
+ function ENV() {
30
+ var throwErr = function () { throw new Error('Please use process.env to write to env'); };
31
+ return new Proxy(parseEnv(process.env), {
32
+ set: throwErr,
33
+ defineProperty: throwErr,
34
+ deleteProperty: throwErr,
35
+ });
36
+ }
37
+ exports.ENV = ENV;
38
+ //# sourceMappingURL=env-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"env-utils.js","sourceRoot":"","sources":["../../src/env-utils.ts"],"names":[],"mappings":";AAAA,0CAA0C;AAC1C,YAAY;AACZ,0CAA0C;;;AAE1C,oHAAoH;AACpH,SAAgB,QAAQ,CAAC,GAAG;IACxB,IAAM,MAAM,GAAG,EAAE,CAAA;IACjB,KAAK,IAAM,CAAC,IAAI,GAAG,EAAE;QACjB,IAAM,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAA;QAClB,IAAI,GAAG,KAAK,WAAW;YAAE,MAAM,CAAC,CAAC,CAAC,GAAG,SAAS,CAAA;aACzC,IAAI,GAAG,KAAK,MAAM;YAAE,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAA;aACpC,IAAI,GAAG,KAAK,OAAO;YAAE,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAA;aACtC,IAAI,GAAG,KAAK,MAAM;YAAE,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAA;;YACpC,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAA;KAC1B;IACD,OAAO,MAAM,CAAA;AACjB,CAAC;AAXD,4BAWC;AAED;;GAEG;AACH,SAAgB,GAAG;IACf,IAAM,QAAQ,GAAG,cAAQ,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAA,CAAC,CAAC,CAAA;IACpF,OAAO,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;QACpC,GAAG,EAAE,QAAQ;QACb,cAAc,EAAE,QAAQ;QACxB,cAAc,EAAE,QAAQ;KAC3B,CAAC,CAAA;AACN,CAAC;AAPD,kBAOC"}
@@ -0,0 +1,29 @@
1
+ import { ObjectGeneric } from "./types";
2
+ export declare function errIfNotSet(objOfVarNamesWithValues: any): void;
3
+ export declare function err500IfNotSet(objOfVarNamesWithValues: any): void;
4
+ export declare function errIfEmptyOrNotSet(objOfVarNamesWithValues: any): void;
5
+ export declare function err500IfEmptyOrNotSet(objOfVarNamesWithValues: any): void;
6
+ export declare function errXXXIfNotSet(errCode: any, checkEmpty: any, objOfVarNamesWithValues: any): void;
7
+ export declare function err422IfNotSet(o: any): void;
8
+ export declare function tryCatch(callback: Function, onErr?: Function): Promise<any>;
9
+ export declare type ErrorOptions = {
10
+ err?: any;
11
+ doNotThrow?: boolean;
12
+ code?: number;
13
+ notifyOnSlackChannel?: boolean;
14
+ extraInfosRenderer?: (extraInfosObj: ObjectGeneric) => void;
15
+ doNotWaitOneFrameForLog?: boolean;
16
+ [k: string]: any;
17
+ };
18
+ export declare class DescriptiveError extends Error {
19
+ errorDescription: {
20
+ [k: string]: any;
21
+ };
22
+ code: number;
23
+ msg: string;
24
+ options: ErrorOptions;
25
+ hasBeenLogged: boolean;
26
+ constructor(msg: string, options?: ErrorOptions);
27
+ log(doNotCountHasLogged?: boolean): void;
28
+ toString(): void;
29
+ }