topkat-utils 1.0.60 → 1.1.2
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/CHANGELOG.md +4 -0
- package/dist/index.d.ts +34 -0
- package/dist/index.js +56 -0
- package/dist/index.js.map +1 -0
- package/dist/src/array-utils.d.ts +56 -0
- package/dist/src/array-utils.js +138 -0
- package/dist/src/array-utils.js.map +1 -0
- package/dist/src/date-utils.d.ts +100 -0
- package/dist/src/date-utils.js +357 -0
- package/dist/src/date-utils.js.map +1 -0
- package/dist/src/env-utils.d.ts +8 -0
- package/dist/src/env-utils.js +38 -0
- package/dist/src/env-utils.js.map +1 -0
- package/dist/src/error-utils.d.ts +8 -0
- package/dist/src/error-utils.js +99 -0
- package/dist/src/error-utils.js.map +1 -0
- package/dist/src/is-empty.d.ts +1 -0
- package/dist/src/is-empty.js +13 -0
- package/dist/src/is-empty.js.map +1 -0
- package/dist/src/is-object.d.ts +2 -0
- package/dist/src/is-object.js +7 -0
- package/dist/src/is-object.js.map +1 -0
- package/dist/src/isset.d.ts +1 -0
- package/dist/src/isset.js +8 -0
- package/dist/src/isset.js.map +1 -0
- package/dist/src/logger-utils.d.ts +76 -0
- package/dist/src/logger-utils.js +355 -0
- package/dist/src/logger-utils.js.map +1 -0
- package/dist/src/loop-utils.d.ts +37 -0
- package/dist/src/loop-utils.js +105 -0
- package/dist/src/loop-utils.js.map +1 -0
- package/dist/src/math-utils.d.ts +23 -0
- package/dist/src/math-utils.js +43 -0
- package/dist/src/math-utils.js.map +1 -0
- package/dist/src/mongo-utils.d.ts +11 -0
- package/dist/src/mongo-utils.js +49 -0
- package/dist/src/mongo-utils.js.map +1 -0
- package/dist/src/object-utils.d.ts +96 -0
- package/dist/src/object-utils.js +369 -0
- package/dist/src/object-utils.js.map +1 -0
- package/dist/src/private/config.d.ts +44 -0
- package/dist/src/private/config.js +55 -0
- package/dist/src/private/config.js.map +1 -0
- package/dist/src/private/error-handler.d.ts +10 -0
- package/dist/src/private/error-handler.js +18 -0
- package/dist/src/private/error-handler.js.map +1 -0
- package/dist/src/private/types.d.ts +4 -0
- package/dist/src/private/types.js +3 -0
- package/dist/src/private/types.js.map +1 -0
- package/dist/src/regexp-utils.d.ts +12 -0
- package/dist/src/regexp-utils.js +44 -0
- package/dist/src/regexp-utils.js.map +1 -0
- package/dist/src/remove-circular-json-stringify.d.ts +1 -0
- package/dist/src/remove-circular-json-stringify.js +20 -0
- package/dist/src/remove-circular-json-stringify.js.map +1 -0
- package/dist/src/string-utils.d.ts +77 -0
- package/dist/src/string-utils.js +209 -0
- package/dist/src/string-utils.js.map +1 -0
- package/dist/src/tests-utils.js +77 -0
- package/dist/src/tests-utils.js.map +1 -0
- package/dist/src/timer-utils.d.ts +16 -0
- package/dist/src/timer-utils.js +79 -0
- package/dist/src/timer-utils.js.map +1 -0
- package/dist/src/transaction-utils.d.ts +14 -0
- package/dist/src/transaction-utils.js +87 -0
- package/dist/src/transaction-utils.js.map +1 -0
- package/dist/src/validation-utils.d.ts +89 -0
- package/dist/src/validation-utils.js +192 -0
- package/dist/src/validation-utils.js.map +1 -0
- package/dist/src/wtf-utils.d.ts +7 -0
- package/dist/src/wtf-utils.js +83 -0
- package/dist/src/wtf-utils.js.map +1 -0
- package/index.ts +38 -0
- package/package.json +2 -2
- package/src/array-utils.ts +128 -0
- package/src/date-utils.ts +377 -0
- package/src/env-utils.ts +29 -0
- package/src/error-utils.ts +77 -0
- package/src/is-empty.ts +5 -0
- package/src/is-object.ts +3 -0
- package/src/isset.ts +3 -0
- package/src/logger-utils.ts +349 -0
- package/src/loop-utils.ts +101 -0
- package/src/math-utils.ts +38 -0
- package/src/mongo-utils.ts +38 -0
- package/src/object-utils.ts +356 -0
- package/src/private/config.ts +85 -0
- package/src/private/error-handler.ts +21 -0
- package/src/private/types.ts +6 -0
- package/src/regexp-utils.ts +37 -0
- package/src/remove-circular-json-stringify.ts +17 -0
- package/src/string-utils.ts +212 -0
- package/src/tests-utils.ts +70 -0
- package/src/timer-utils.ts +58 -0
- package/src/transaction-utils.ts +63 -0
- package/src/validation-utils.ts +253 -0
- package/src/wtf-utils.ts +88 -0
- package/tsconfig.json +11 -4
- package/utils.d.ts +0 -694
- package/utils.js +0 -2227
- package/utils.js.map +0 -1
- package/utils.ts +0 -2304
|
@@ -0,0 +1,357 @@
|
|
|
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
|
+
const isset_1 = require("./isset");
|
|
8
|
+
const math_utils_1 = require("./math-utils");
|
|
9
|
+
const error_handler_1 = require("./private/error-handler");
|
|
10
|
+
const error_utils_1 = require("./error-utils");
|
|
11
|
+
const 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 = new Date(), errIfNotValid$ = false, withHoursAndMinutes$ = false) {
|
|
24
|
+
let dateInt;
|
|
25
|
+
if (typeof dateAllFormat === 'string' && dateAllFormat.includes('/')) {
|
|
26
|
+
// 01/01/2020 format
|
|
27
|
+
const [d, m, y] = dateAllFormat.split('/');
|
|
28
|
+
return y + m.toString().padStart(2, '0') + d.toString().padStart(2, '0');
|
|
29
|
+
}
|
|
30
|
+
else if (isDateIntOrStringValid(dateAllFormat)) {
|
|
31
|
+
// we can pass an int or string format (20180106)
|
|
32
|
+
dateInt = (dateAllFormat + '00000000').substr(0, 12); // add default 000000 for "month days minutes:sec" if not set
|
|
33
|
+
}
|
|
34
|
+
else {
|
|
35
|
+
let date = dateAllFormat;
|
|
36
|
+
if (typeof date === 'string')
|
|
37
|
+
date = new Date(date);
|
|
38
|
+
const realDate = date;
|
|
39
|
+
//let dateArr = dateAllFormat.toString().split(); // we cannot use ISOString
|
|
40
|
+
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());
|
|
41
|
+
}
|
|
42
|
+
isDateIntOrStringValid(dateInt, errIfNotValid$);
|
|
43
|
+
return (withHoursAndMinutes$ ? dateInt : dateInt.substr(0, 8));
|
|
44
|
+
}
|
|
45
|
+
exports.getDateAsInt = getDateAsInt;
|
|
46
|
+
function getMonthAsInt(dateAllFormat = new Date()) {
|
|
47
|
+
let dateInt;
|
|
48
|
+
if (isDateIntOrStringValid(dateAllFormat)) {
|
|
49
|
+
// we can pass an int or string format (20180106)
|
|
50
|
+
dateInt = (dateAllFormat + '').substr(0, 6);
|
|
51
|
+
}
|
|
52
|
+
else {
|
|
53
|
+
let date = dateAllFormat;
|
|
54
|
+
if (typeof date === 'string')
|
|
55
|
+
date = new Date(date);
|
|
56
|
+
//let dateArr = dateAllFormat.toString().split(); // we cannot use ISOString
|
|
57
|
+
dateInt = '' + date.getUTCFullYear() + (0, math_utils_1.pad)(date.getUTCMonth() + 1);
|
|
58
|
+
}
|
|
59
|
+
return int(dateInt);
|
|
60
|
+
}
|
|
61
|
+
exports.getMonthAsInt = getMonthAsInt;
|
|
62
|
+
/**
|
|
63
|
+
* @param dateAllFormat multiple format allowed 2012, 20120101, 201201011200, new Date(), "2019-12-08T16:19:10.341Z" and all string that new Date() can parse
|
|
64
|
+
*/
|
|
65
|
+
function getDateAsObject(dateAllFormat = new Date(), errIfNotValid$ = true) {
|
|
66
|
+
let dateObj = dateAllFormat;
|
|
67
|
+
if (isDateIntOrStringValid(dateAllFormat)) {
|
|
68
|
+
const [y, M, d, h, m] = dateStringToArray(dateAllFormat);
|
|
69
|
+
dateObj = new Date(`${y}-${M}-${d}T${h}:${m}`);
|
|
70
|
+
}
|
|
71
|
+
else if (typeof dateAllFormat === 'string') {
|
|
72
|
+
dateObj = new Date(dateAllFormat);
|
|
73
|
+
}
|
|
74
|
+
else {
|
|
75
|
+
dateObj = new Date(dateAllFormat.getTime()); // clone
|
|
76
|
+
}
|
|
77
|
+
isDateIsoOrObjectValid(dateObj, errIfNotValid$);
|
|
78
|
+
return dateObj;
|
|
79
|
+
}
|
|
80
|
+
exports.getDateAsObject = getDateAsObject;
|
|
81
|
+
/** [2018,01,06] */
|
|
82
|
+
function dateStringToArray(strOrInt) {
|
|
83
|
+
(0, error_utils_1.err422IfNotSet)({ strOrInt });
|
|
84
|
+
const dateStr = strOrInt.toString();
|
|
85
|
+
return [
|
|
86
|
+
dateStr.substr(0, 4),
|
|
87
|
+
dateStr.substr(4, 2) || '01',
|
|
88
|
+
dateStr.substr(6, 2) || '01',
|
|
89
|
+
dateStr.substr(8, 2) || '12',
|
|
90
|
+
dateStr.substr(10, 2) || '00',
|
|
91
|
+
dateStr.substr(12, 2) || '00',
|
|
92
|
+
dateStr.substr(14, 3) || '000', // MS
|
|
93
|
+
];
|
|
94
|
+
}
|
|
95
|
+
exports.dateStringToArray = dateStringToArray;
|
|
96
|
+
/**
|
|
97
|
+
* @param dateAllFormat default: actualDate
|
|
98
|
+
* @returns ['01', '01', '2019'] OR **string** if separator is provided */
|
|
99
|
+
function dateArray(dateAllFormat = getDateAsInt()) {
|
|
100
|
+
const dateStr = getDateAsInt(dateAllFormat).toString();
|
|
101
|
+
return [
|
|
102
|
+
dateStr.substr(6, 2),
|
|
103
|
+
dateStr.substr(4, 2),
|
|
104
|
+
dateStr.substr(0, 4), // Y
|
|
105
|
+
];
|
|
106
|
+
}
|
|
107
|
+
exports.dateArray = dateArray;
|
|
108
|
+
/**
|
|
109
|
+
* @param dateAllFormat default: actualDate
|
|
110
|
+
* @returns ['01', '01', '2019'] OR **string** if separator is provided */
|
|
111
|
+
function dateArrayInt(dateAllFormat = getDateAsInt()) {
|
|
112
|
+
const dateStr = getDateAsInt(dateAllFormat).toString();
|
|
113
|
+
return [
|
|
114
|
+
int(dateStr.substr(6, 2)),
|
|
115
|
+
int(dateStr.substr(4, 2)),
|
|
116
|
+
int(dateStr.substr(0, 4)), // Y
|
|
117
|
+
];
|
|
118
|
+
}
|
|
119
|
+
exports.dateArrayInt = dateArrayInt;
|
|
120
|
+
/**
|
|
121
|
+
* @return 01/01/2012 (alias of dateArrayFormatted(date, '/'))
|
|
122
|
+
*/
|
|
123
|
+
function dateFormatted(dateAllFormat, separator = '/') { return dateArray(dateAllFormat).join(separator); }
|
|
124
|
+
exports.dateFormatted = dateFormatted;
|
|
125
|
+
/** Date with custom offset (Ex: +2 for France) */
|
|
126
|
+
function dateOffset(offsetHours, dateObj = new Date()) {
|
|
127
|
+
var utc = Date.UTC(dateObj.getUTCFullYear(), dateObj.getUTCMonth(), dateObj.getUTCDate(), dateObj.getUTCHours(), dateObj.getUTCMinutes(), dateObj.getUTCSeconds());
|
|
128
|
+
return new Date(utc + (3600000 * offsetHours));
|
|
129
|
+
}
|
|
130
|
+
exports.dateOffset = dateOffset;
|
|
131
|
+
//----------------------------------------
|
|
132
|
+
// TIME UTILS
|
|
133
|
+
//----------------------------------------
|
|
134
|
+
/** */
|
|
135
|
+
function getTimeAsInt(timeOrDateInt = getDateAsInt12()) {
|
|
136
|
+
if (isDateIntOrStringValid(timeOrDateInt)) {
|
|
137
|
+
const tl = timeOrDateInt.toString().length;
|
|
138
|
+
return int(timeOrDateInt.toString().substring(tl - 4, tl));
|
|
139
|
+
}
|
|
140
|
+
else if (typeof timeOrDateInt === 'string' && timeOrDateInt.length === 5 && timeOrDateInt.includes(':'))
|
|
141
|
+
return int(timeOrDateInt.replace(':', ''));
|
|
142
|
+
else
|
|
143
|
+
return 'dateInvalid';
|
|
144
|
+
}
|
|
145
|
+
exports.getTimeAsInt = getTimeAsInt;
|
|
146
|
+
/**
|
|
147
|
+
* @param {timeInt|dateInt12} Eg: 2222 OR 201201012222. Default, actual dateInt12
|
|
148
|
+
* @param {String} separator default: ":"
|
|
149
|
+
*/
|
|
150
|
+
function getIntAsTime(intOrDateTimeInt = getDateAsInt12(), separator = ':') {
|
|
151
|
+
const time = intOrDateTimeInt.toString().padStart(4, '0');
|
|
152
|
+
const tl = time.length;
|
|
153
|
+
return time.substring(tl - 4, tl - 2) + separator + time.substring(tl - 2, tl);
|
|
154
|
+
}
|
|
155
|
+
exports.getIntAsTime = getIntAsTime;
|
|
156
|
+
function isTimeStringValid(timeStr, outputAnError$ = false) {
|
|
157
|
+
let timeArr = timeStr.split(':');
|
|
158
|
+
let h = int(timeArr[0]);
|
|
159
|
+
let m = int(timeArr[1]);
|
|
160
|
+
let test1 = h >= 0 && h < 24;
|
|
161
|
+
let test2 = m >= 0 && m < 60;
|
|
162
|
+
if (outputAnError$ && !(test1 && test2))
|
|
163
|
+
throw new error_handler_1.dataValidationUtilErrorHandler('timeStringOutOfRange', 422, { origin: 'Time validator' });
|
|
164
|
+
else
|
|
165
|
+
return test1 && test2;
|
|
166
|
+
}
|
|
167
|
+
exports.isTimeStringValid = isTimeStringValid;
|
|
168
|
+
//----------------------------------------
|
|
169
|
+
// DURATIONS
|
|
170
|
+
//----------------------------------------
|
|
171
|
+
function getDuration(startDate, endDate, inMinutes = false) {
|
|
172
|
+
const startDateO = getDateAsObject(startDate);
|
|
173
|
+
const endDateO = getDateAsObject(endDate);
|
|
174
|
+
let diffInSec = Math.floor(endDateO.getTime() / 1000) - Math.floor(startDateO.getTime() / 1000);
|
|
175
|
+
if (inMinutes)
|
|
176
|
+
return Math.floor(diffInSec / 60);
|
|
177
|
+
else
|
|
178
|
+
return [
|
|
179
|
+
Math.floor(diffInSec / (24 * 3600)),
|
|
180
|
+
Math.floor((diffInSec % (24 * 3600)) / 3600),
|
|
181
|
+
Math.floor(((diffInSec % (24 * 3600)) % 3600) / 60), // M
|
|
182
|
+
];
|
|
183
|
+
}
|
|
184
|
+
exports.getDuration = getDuration;
|
|
185
|
+
/** compare two object with DATE INT, if they overlap return true
|
|
186
|
+
* @param {Object} event1 {startDate, endDate}
|
|
187
|
+
* @param {Object} event2 {startDate, endDate}
|
|
188
|
+
* @param {String} fieldNameForStartDate$ replace startDate with this string
|
|
189
|
+
* @param {String} fieldNameForEndDate$ replace endDate with this string
|
|
190
|
+
* @param {Boolean} allowNull$ if false, retrun false if any of the startdates or enddates are not set
|
|
191
|
+
* @param {Boolean} strict$ if true,
|
|
192
|
+
*/
|
|
193
|
+
function doDateOverlap(event1, event2, fieldNameForStartDate$ = 'startDate', fieldNameForEndDate$ = 'endDate', allowNull$ = true, strict$ = false) {
|
|
194
|
+
if (!allowNull$ && !(0, isset_1.isset)(event1[fieldNameForStartDate$], event1[fieldNameForEndDate$], event2[fieldNameForStartDate$], event2[fieldNameForEndDate$]))
|
|
195
|
+
return false;
|
|
196
|
+
if (strict$)
|
|
197
|
+
return (!event2[fieldNameForEndDate$] || event1[fieldNameForStartDate$] < event2[fieldNameForEndDate$]) && (!event1[fieldNameForEndDate$] || event1[fieldNameForEndDate$] > event2[fieldNameForStartDate$]);
|
|
198
|
+
return (!event2[fieldNameForEndDate$] || event1[fieldNameForStartDate$] <= event2[fieldNameForEndDate$]) && (!event1[fieldNameForEndDate$] || event1[fieldNameForEndDate$] >= event2[fieldNameForStartDate$]);
|
|
199
|
+
}
|
|
200
|
+
exports.doDateOverlap = doDateOverlap;
|
|
201
|
+
function nextWeekDay(fromDate, weekDayInt, outputFormat = 'date', sameDayAllowed = false) {
|
|
202
|
+
const date = getDateAsObject(fromDate);
|
|
203
|
+
if (!(0, isset_1.isset)(weekDayInt))
|
|
204
|
+
weekDayInt = date.getDay();
|
|
205
|
+
const toAdd = !sameDayAllowed && date.getDay() === weekDayInt ? 7 : 0;
|
|
206
|
+
date.setUTCDate(date.getUTCDate() + toAdd + (7 + weekDayInt - date.getUTCDay()) % 7);
|
|
207
|
+
return getDateAs(date, outputFormat);
|
|
208
|
+
}
|
|
209
|
+
exports.nextWeekDay = nextWeekDay;
|
|
210
|
+
function addDays(dateAllFormat = getDateAsInt(), numberOfDays = 1, outputFormat = 'date') {
|
|
211
|
+
let date = getDateAsObject(dateAllFormat);
|
|
212
|
+
date.setTime(date.getTime() + numberOfDays * 24 * 60 * 60 * 1000);
|
|
213
|
+
return getDateAs(date, outputFormat);
|
|
214
|
+
}
|
|
215
|
+
exports.addDays = addDays;
|
|
216
|
+
function addMinutes(dateAllFormat = getDateAsInt(), numberOfMinutes = 1, outputFormat = 'date') {
|
|
217
|
+
let date = getDateAsObject(dateAllFormat);
|
|
218
|
+
date.setTime(date.getTime() + 1 * numberOfMinutes * 60 * 1000);
|
|
219
|
+
return getDateAs(date, outputFormat);
|
|
220
|
+
}
|
|
221
|
+
exports.addMinutes = addMinutes;
|
|
222
|
+
function addHours(dateAllFormat = getDateAsInt(), numberOfHours = 1, outputFormat = 'date') {
|
|
223
|
+
let date = getDateAsObject(dateAllFormat);
|
|
224
|
+
date.setTime(date.getTime() + 1 * numberOfHours * 60 * 60 * 1000);
|
|
225
|
+
return getDateAs(date, outputFormat);
|
|
226
|
+
}
|
|
227
|
+
exports.addHours = addHours;
|
|
228
|
+
function addMonths(dateAllFormat = getDateAsInt(), numberOfMonths = 1, outputFormat = 'date') {
|
|
229
|
+
let date = getDateAsObject(dateAllFormat);
|
|
230
|
+
date.setUTCMonth(date.getUTCMonth() + numberOfMonths);
|
|
231
|
+
return getDateAs(date, outputFormat);
|
|
232
|
+
}
|
|
233
|
+
exports.addMonths = addMonths;
|
|
234
|
+
/**
|
|
235
|
+
* @param {String} outputFormat dateInt, dateInt8, dateInt12, date, humanReadableTimestamp, int (dateInt8)
|
|
236
|
+
*/
|
|
237
|
+
function addYears(dateAllFormat = getDateAsInt(), numberOfYears = 1, outputFormat = 'date') {
|
|
238
|
+
let date = getDateAsObject(dateAllFormat);
|
|
239
|
+
date.setUTCFullYear(date.getUTCFullYear() + numberOfYears);
|
|
240
|
+
return getDateAs(date, outputFormat);
|
|
241
|
+
}
|
|
242
|
+
exports.addYears = addYears;
|
|
243
|
+
function getDayOfMonth(dateAllFormat = getDateAsInt()) {
|
|
244
|
+
let dateAsInt = getDateAsInt(dateAllFormat);
|
|
245
|
+
const [, , d] = dateStringToArray(dateAsInt);
|
|
246
|
+
return d;
|
|
247
|
+
}
|
|
248
|
+
exports.getDayOfMonth = getDayOfMonth;
|
|
249
|
+
function getYear(dateAllFormat = getDateAsInt()) {
|
|
250
|
+
let dateAsInt = getDateAsInt(dateAllFormat);
|
|
251
|
+
const [y] = dateStringToArray(dateAsInt);
|
|
252
|
+
return y;
|
|
253
|
+
}
|
|
254
|
+
exports.getYear = getYear;
|
|
255
|
+
function getHours(dateAllFormat = getDateAsInt()) {
|
|
256
|
+
let dateAsInt = getDateAsInt(dateAllFormat);
|
|
257
|
+
const [, , , h,] = dateStringToArray(dateAsInt);
|
|
258
|
+
return h;
|
|
259
|
+
}
|
|
260
|
+
exports.getHours = getHours;
|
|
261
|
+
function getMinutes(dateAllFormat = getDateAsInt()) {
|
|
262
|
+
let dateAsInt = getDateAsInt(dateAllFormat);
|
|
263
|
+
const [, , , , m] = dateStringToArray(dateAsInt);
|
|
264
|
+
return m;
|
|
265
|
+
}
|
|
266
|
+
exports.getMinutes = getMinutes;
|
|
267
|
+
/**
|
|
268
|
+
* @param {String} outputFormat dateInt, dateInt8, dateInt12, date, humanReadableTimestamp, int (dateInt8)
|
|
269
|
+
*/
|
|
270
|
+
function lastDayOfMonth(dateAllFormat = getDateAsInt(), outputFormat = 'date') {
|
|
271
|
+
let date = getDateAsObject(dateAllFormat);
|
|
272
|
+
const lastDay = new Date(date.getUTCFullYear(), date.getUTCMonth() + 1, 0);
|
|
273
|
+
lastDay.setUTCHours(date.getUTCHours(), date.getUTCMinutes(), date.getUTCSeconds(), date.getUTCMilliseconds());
|
|
274
|
+
return getDateAs(lastDay, outputFormat);
|
|
275
|
+
}
|
|
276
|
+
exports.lastDayOfMonth = lastDayOfMonth;
|
|
277
|
+
/**
|
|
278
|
+
* @param {String} outputFormat dateInt, dateInt8, dateInt12, date, humanReadableTimestamp, int (dateInt8)
|
|
279
|
+
*/
|
|
280
|
+
function firstDayOfMonth(dateAllFormat = getDateAsInt(), outputFormat = 'date') {
|
|
281
|
+
let date = getDateAsObject(dateAllFormat);
|
|
282
|
+
const firstDay = new Date(date.getUTCFullYear(), date.getUTCMonth(), 1);
|
|
283
|
+
firstDay.setUTCHours(date.getUTCHours(), date.getUTCMinutes(), date.getUTCSeconds(), date.getUTCMilliseconds());
|
|
284
|
+
return getDateAs(firstDay, outputFormat);
|
|
285
|
+
}
|
|
286
|
+
exports.firstDayOfMonth = firstDayOfMonth;
|
|
287
|
+
function differenceInMilliseconds(startDateAllFormat, endDateAllFormat) {
|
|
288
|
+
const startDate = getDateAsObject(startDateAllFormat);
|
|
289
|
+
const endDate = getDateAsObject(endDateAllFormat);
|
|
290
|
+
return endDate.getTime() - startDate.getTime();
|
|
291
|
+
}
|
|
292
|
+
exports.differenceInMilliseconds = differenceInMilliseconds;
|
|
293
|
+
function differenceInSeconds(startDateAllFormat, endDateAllFormat) {
|
|
294
|
+
return differenceInMilliseconds(startDateAllFormat, endDateAllFormat) / 1000;
|
|
295
|
+
}
|
|
296
|
+
exports.differenceInSeconds = differenceInSeconds;
|
|
297
|
+
function differenceInMinutes(startDateAllFormat, endDateAllFormat) {
|
|
298
|
+
return differenceInSeconds(startDateAllFormat, endDateAllFormat) / 60;
|
|
299
|
+
}
|
|
300
|
+
exports.differenceInMinutes = differenceInMinutes;
|
|
301
|
+
function differenceInHours(startDateAllFormat, endDateAllFormat) {
|
|
302
|
+
return differenceInMinutes(startDateAllFormat, endDateAllFormat) / 60;
|
|
303
|
+
}
|
|
304
|
+
exports.differenceInHours = differenceInHours;
|
|
305
|
+
function differenceInDays(startDateAllFormat, endDateAllFormat) {
|
|
306
|
+
return differenceInHours(startDateAllFormat, endDateAllFormat) / 24;
|
|
307
|
+
}
|
|
308
|
+
exports.differenceInDays = differenceInDays;
|
|
309
|
+
function differenceInWeeks(startDateAllFormat, endDateAllFormat) {
|
|
310
|
+
return differenceInDays(startDateAllFormat, endDateAllFormat) / 7;
|
|
311
|
+
}
|
|
312
|
+
exports.differenceInWeeks = differenceInWeeks;
|
|
313
|
+
function getDateAs(dateAllFormat = new Date(), outputDateFormat = 'date') {
|
|
314
|
+
switch (outputDateFormat) {
|
|
315
|
+
case 'dateInt8':
|
|
316
|
+
return getDateAsInt(dateAllFormat);
|
|
317
|
+
case 'dateInt12':
|
|
318
|
+
return getDateAsInt12(dateAllFormat);
|
|
319
|
+
case 'humanReadableTimestamp':
|
|
320
|
+
return humanReadableTimestamp(dateAllFormat);
|
|
321
|
+
case 'date':
|
|
322
|
+
default:
|
|
323
|
+
return getDateAsObject(dateAllFormat);
|
|
324
|
+
}
|
|
325
|
+
}
|
|
326
|
+
exports.getDateAs = getDateAs;
|
|
327
|
+
function isDateIntOrStringValid(dateStringOrInt, outputAnError = false, length) {
|
|
328
|
+
if (!(0, isset_1.isset)(dateStringOrInt))
|
|
329
|
+
return false;
|
|
330
|
+
const dateStr = dateStringOrInt.toString();
|
|
331
|
+
if (length && dateStr.length !== length)
|
|
332
|
+
throw new error_handler_1.dataValidationUtilErrorHandler(`wrongLengthForDateInt`, 422, { origin: 'Date Int validator', dateStringOrInt: dateStringOrInt, extraInfo: `${dateStringOrInt} length !== ${length}` });
|
|
333
|
+
if ((typeof dateStringOrInt === 'object' && isNaN(int(dateStr))) || ![4, 6, 8, 10, 12, 17].includes(dateStr.length))
|
|
334
|
+
return false;
|
|
335
|
+
const dateArr = dateStringToArray(dateStringOrInt);
|
|
336
|
+
const [y, M, d, h, m] = dateArr;
|
|
337
|
+
const test1 = dateArr.length >= 3 && int(y) >= 1000; // Y
|
|
338
|
+
const test2 = int(M) <= 12 && int(M) > 0; // M
|
|
339
|
+
const test3 = !(0, isset_1.isset)(d) || int(d) <= 31 && int(d) > 0; // D
|
|
340
|
+
const test4 = !(0, isset_1.isset)(h) || (int(h) <= 23 && int(h) >= 0); // H
|
|
341
|
+
const test5 = !(0, isset_1.isset)(m) || (int(m) <= 59 && int(m) >= 0); // M
|
|
342
|
+
if (outputAnError && !(test1 && test2 && test3 && test4 && test5))
|
|
343
|
+
throw new error_handler_1.dataValidationUtilErrorHandler(`dateStringOrIntFormatInvalid`, 422, { origin: 'Date Int validator', dateStringOrInt: dateStringOrInt, extraInfo: 'Needs YYYYMMDD[HHMM] between 100001010000 and 999912312359', dateArr, isYearValid: test1, isMonthValid: test2, isDayValid: test3, isHourValid: test4, isMinutesValid: test5 });
|
|
344
|
+
return true;
|
|
345
|
+
}
|
|
346
|
+
exports.isDateIntOrStringValid = isDateIntOrStringValid;
|
|
347
|
+
function isDateIsoOrObjectValid(dateIsoOrObj, outputAnError = false) {
|
|
348
|
+
let dateObj = dateIsoOrObj;
|
|
349
|
+
if (typeof dateIsoOrObj === 'string')
|
|
350
|
+
dateObj = new Date(dateIsoOrObj);
|
|
351
|
+
let valid = dateObj instanceof Date;
|
|
352
|
+
if (outputAnError && !valid)
|
|
353
|
+
throw new error_handler_1.dataValidationUtilErrorHandler('dateIsoStringOrObjectIsNotValid', 422, { origin: 'Date Object validator', isoDate: dateIsoOrObj });
|
|
354
|
+
return valid;
|
|
355
|
+
}
|
|
356
|
+
exports.isDateIsoOrObjectValid = isDateIsoOrObjectValid;
|
|
357
|
+
//# sourceMappingURL=date-utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"date-utils.js","sourceRoot":"","sources":["../../src/date-utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -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
|
+
const newEnv = {};
|
|
10
|
+
for (const k in env) {
|
|
11
|
+
const 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
|
+
const throwErr = () => { 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,MAAM,MAAM,GAAG,EAAE,CAAA;IACjB,KAAK,MAAM,CAAC,IAAI,GAAG,EAAE;QACjB,MAAM,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,MAAM,QAAQ,GAAG,GAAG,EAAE,GAAG,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,8 @@
|
|
|
1
|
+
export declare function errIfNotSet(objOfVarNamesWithValues: any, additionalMessage: any): void;
|
|
2
|
+
export declare function err500IfNotSet(objOfVarNamesWithValues: any): void;
|
|
3
|
+
export declare function errIfEmptyOrNotSet(objOfVarNamesWithValues: any): void;
|
|
4
|
+
export declare function err500IfEmptyOrNotSet(objOfVarNamesWithValues: any): void;
|
|
5
|
+
export declare function errXXXIfNotSet(errCode: any, checkEmpty: any, objOfVarNamesWithValues: any): void;
|
|
6
|
+
export declare function err422IfNotSet(o: any): void;
|
|
7
|
+
export declare function cleanStackTrace(stack: any): string;
|
|
8
|
+
export declare function tryCatch(callback: Function, onErr?: Function): Promise<any>;
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.tryCatch = exports.cleanStackTrace = exports.err422IfNotSet = exports.errXXXIfNotSet = exports.err500IfEmptyOrNotSet = exports.errIfEmptyOrNotSet = exports.err500IfNotSet = exports.errIfNotSet = void 0;
|
|
13
|
+
//----------------------------------------
|
|
14
|
+
// ERROR UTILS
|
|
15
|
+
//----------------------------------------
|
|
16
|
+
const error_handler_1 = require("./private/error-handler");
|
|
17
|
+
const isset_1 = require("./isset");
|
|
18
|
+
const is_empty_1 = require("./is-empty");
|
|
19
|
+
function errIfNotSet(objOfVarNamesWithValues, additionalMessage) { return errXXXIfNotSet(422, false, objOfVarNamesWithValues); }
|
|
20
|
+
exports.errIfNotSet = errIfNotSet;
|
|
21
|
+
function err500IfNotSet(objOfVarNamesWithValues) { return errXXXIfNotSet(500, false, objOfVarNamesWithValues); }
|
|
22
|
+
exports.err500IfNotSet = err500IfNotSet;
|
|
23
|
+
function errIfEmptyOrNotSet(objOfVarNamesWithValues) { return errXXXIfNotSet(422, true, objOfVarNamesWithValues); }
|
|
24
|
+
exports.errIfEmptyOrNotSet = errIfEmptyOrNotSet;
|
|
25
|
+
function err500IfEmptyOrNotSet(objOfVarNamesWithValues) { return errXXXIfNotSet(500, true, objOfVarNamesWithValues); }
|
|
26
|
+
exports.err500IfEmptyOrNotSet = err500IfEmptyOrNotSet;
|
|
27
|
+
function errXXXIfNotSet(errCode, checkEmpty, objOfVarNamesWithValues) {
|
|
28
|
+
let missingVars = [];
|
|
29
|
+
for (let prop in objOfVarNamesWithValues) {
|
|
30
|
+
if (!(0, isset_1.isset)(objOfVarNamesWithValues[prop]) || (checkEmpty && (0, is_empty_1.isEmpty)(objOfVarNamesWithValues[prop])))
|
|
31
|
+
missingVars.push(prop);
|
|
32
|
+
}
|
|
33
|
+
if (missingVars.length)
|
|
34
|
+
throw new error_handler_1.dataValidationUtilErrorHandler(`requiredVariableEmptyOrNotSet`, errCode, { origin: 'Validator', varNames: missingVars.join(', ') });
|
|
35
|
+
}
|
|
36
|
+
exports.errXXXIfNotSet = errXXXIfNotSet;
|
|
37
|
+
function err422IfNotSet(o) {
|
|
38
|
+
let m = [];
|
|
39
|
+
for (let p in o)
|
|
40
|
+
if (!(0, isset_1.isset)(o[p]))
|
|
41
|
+
m.push(p);
|
|
42
|
+
if (m.length)
|
|
43
|
+
throw new error_handler_1.dataValidationUtilErrorHandler(`requiredVariableEmptyOrNotSet`, 422, { origin: 'Validator', varNames: m.join(', ') });
|
|
44
|
+
}
|
|
45
|
+
exports.err422IfNotSet = err422IfNotSet;
|
|
46
|
+
function cleanStackTrace(stack) {
|
|
47
|
+
if (typeof stack !== 'string')
|
|
48
|
+
return '';
|
|
49
|
+
stack.replace(/home\/[^/]+\/[^/]+\//g, '');
|
|
50
|
+
const lines = stack.split('\n');
|
|
51
|
+
const removeIfContain = [
|
|
52
|
+
'logger-utils.js',
|
|
53
|
+
'TCP.onread',
|
|
54
|
+
'readableAddChunk',
|
|
55
|
+
'Socket.EventEmitter.emit (domain.js',
|
|
56
|
+
'Socket.emit (events.js',
|
|
57
|
+
'Connection.EventEmitter.emit (domain.js',
|
|
58
|
+
'Connection.emit (events.js',
|
|
59
|
+
'Socket.Readable.push (_stream_readable',
|
|
60
|
+
'model.Query',
|
|
61
|
+
'Object.promiseOrCallback',
|
|
62
|
+
'Connection.<anonymous>',
|
|
63
|
+
'process.topLevelDomainCallback',
|
|
64
|
+
// internal
|
|
65
|
+
'internal/process',
|
|
66
|
+
'internal/timers',
|
|
67
|
+
'internal/modules',
|
|
68
|
+
'internal/main',
|
|
69
|
+
'DefaultError.throw',
|
|
70
|
+
'Object.throw',
|
|
71
|
+
'mongoose/lib/utils',
|
|
72
|
+
'at Array.forEach (<anonymous>)',
|
|
73
|
+
];
|
|
74
|
+
const linesClean = lines
|
|
75
|
+
.filter(l => !removeIfContain.some(text => l.includes(text)))
|
|
76
|
+
.map((line, i) => {
|
|
77
|
+
if (i === 0)
|
|
78
|
+
return '';
|
|
79
|
+
else {
|
|
80
|
+
const [, start, fileName, end] = line.match(/(^.+\/)([^/]+:\d+:\d+)(.{0,3})/) || [];
|
|
81
|
+
return fileName ? `\x1b[2m${start}\x1b[0m${fileName}\x1b[2m${end}\x1b[0m` : `\x1b[2m${line}\x1b[0m`;
|
|
82
|
+
}
|
|
83
|
+
})
|
|
84
|
+
.join('\n');
|
|
85
|
+
return linesClean;
|
|
86
|
+
}
|
|
87
|
+
exports.cleanStackTrace = cleanStackTrace;
|
|
88
|
+
function tryCatch(callback, onErr = () => { }) {
|
|
89
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
90
|
+
try {
|
|
91
|
+
return yield callback();
|
|
92
|
+
}
|
|
93
|
+
catch (err) {
|
|
94
|
+
return yield onErr(err);
|
|
95
|
+
}
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
exports.tryCatch = tryCatch;
|
|
99
|
+
//# sourceMappingURL=error-utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error-utils.js","sourceRoot":"","sources":["../../src/error-utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function isEmpty(objOrArr: object | any[] | string | null | undefined): boolean;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isEmpty = void 0;
|
|
4
|
+
function isEmpty(objOrArr) {
|
|
5
|
+
if (Array.isArray(objOrArr) || typeof objOrArr === 'string')
|
|
6
|
+
return objOrArr.length === 0;
|
|
7
|
+
else if (typeof objOrArr == 'object' && objOrArr !== null && !(objOrArr instanceof Date))
|
|
8
|
+
return Object.keys(objOrArr).length === 0;
|
|
9
|
+
else
|
|
10
|
+
false;
|
|
11
|
+
}
|
|
12
|
+
exports.isEmpty = isEmpty;
|
|
13
|
+
//# sourceMappingURL=is-empty.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"is-empty.js","sourceRoot":"","sources":["../../src/is-empty.ts"],"names":[],"mappings":";;;AAAA,SAAgB,OAAO,CAAC,QAAoD;IACxE,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,OAAO,QAAQ,KAAK,QAAQ;QAAE,OAAO,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAA;SACpF,IAAI,OAAO,QAAQ,IAAI,QAAQ,IAAI,QAAQ,KAAK,IAAI,IAAI,CAAC,CAAC,QAAQ,YAAY,IAAI,CAAC;QAAE,OAAO,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,KAAK,CAAC,CAAA;;QAC9H,KAAK,CAAA;AACd,CAAC;AAJD,0BAIC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isObject = void 0;
|
|
4
|
+
/** test if object but not array and not null (null is an object in Js) */
|
|
5
|
+
function isObject(o) { return o instanceof Object && [Object, Error].includes(o.constructor); }
|
|
6
|
+
exports.isObject = isObject;
|
|
7
|
+
//# sourceMappingURL=is-object.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"is-object.js","sourceRoot":"","sources":["../../src/is-object.ts"],"names":[],"mappings":";;;AACA,0EAA0E;AAC1E,SAAgB,QAAQ,CAAC,CAAM,IAAa,OAAO,CAAC,YAAY,MAAM,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAA,CAAC,CAAC;AAAnH,4BAAmH"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function isset(...elms: any[]): boolean;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isset = void 0;
|
|
4
|
+
function isset(...elms) {
|
|
5
|
+
return elms.every(elm => typeof elm !== 'undefined' && elm !== null);
|
|
6
|
+
}
|
|
7
|
+
exports.isset = isset;
|
|
8
|
+
//# sourceMappingURL=isset.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isset.js","sourceRoot":"","sources":["../../src/isset.ts"],"names":[],"mappings":";;;AAAA,SAAgB,KAAK,CAAC,GAAG,IAAI;IACzB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,GAAG,KAAK,WAAW,IAAI,GAAG,KAAK,IAAI,CAAC,CAAA;AACxE,CAAC;AAFD,sBAEC"}
|