@alextheman/utility 3.0.0 → 3.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +147 -118
- package/dist/index.d.cts +46 -37
- package/dist/index.d.ts +46 -37
- package/dist/index.js +144 -118
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -30,15 +30,6 @@ path = __toESM(path);
|
|
|
30
30
|
let zod = require("zod");
|
|
31
31
|
zod = __toESM(zod);
|
|
32
32
|
|
|
33
|
-
//#region src/functions/addDaysToDate.ts
|
|
34
|
-
function addDaysToDate(currentDate = /* @__PURE__ */ new Date(), dayIncrement = 1) {
|
|
35
|
-
const newDate = currentDate;
|
|
36
|
-
newDate.setDate(newDate.getDate() + dayIncrement);
|
|
37
|
-
return newDate;
|
|
38
|
-
}
|
|
39
|
-
var addDaysToDate_default = addDaysToDate;
|
|
40
|
-
|
|
41
|
-
//#endregion
|
|
42
33
|
//#region src/functions/appendSemicolon.ts
|
|
43
34
|
function appendSemicolon(stringToAppendTo) {
|
|
44
35
|
if (stringToAppendTo.includes("\n")) throw new Error("MULTIPLE_LINE_ERROR");
|
|
@@ -48,6 +39,81 @@ function appendSemicolon(stringToAppendTo) {
|
|
|
48
39
|
}
|
|
49
40
|
var appendSemicolon_default = appendSemicolon;
|
|
50
41
|
|
|
42
|
+
//#endregion
|
|
43
|
+
//#region src/functions/arrayHelpers/fillArray.ts
|
|
44
|
+
function fillArray(callback, length = 1) {
|
|
45
|
+
const outputArray = new Array(length).fill(null).map((_, index) => {
|
|
46
|
+
return callback(index);
|
|
47
|
+
});
|
|
48
|
+
if (outputArray.some((item) => {
|
|
49
|
+
return item instanceof Promise;
|
|
50
|
+
})) return Promise.all(outputArray);
|
|
51
|
+
return outputArray;
|
|
52
|
+
}
|
|
53
|
+
var fillArray_default = fillArray;
|
|
54
|
+
|
|
55
|
+
//#endregion
|
|
56
|
+
//#region src/functions/arrayHelpers/paralleliseArrays.ts
|
|
57
|
+
function paralleliseArrays(firstArray, secondArray) {
|
|
58
|
+
const outputArray = [];
|
|
59
|
+
for (let i = 0; i < firstArray.length; i++) outputArray.push([firstArray[i], secondArray[i]]);
|
|
60
|
+
return outputArray;
|
|
61
|
+
}
|
|
62
|
+
var paralleliseArrays_default = paralleliseArrays;
|
|
63
|
+
|
|
64
|
+
//#endregion
|
|
65
|
+
//#region src/functions/parsers/parseIntStrict.ts
|
|
66
|
+
const IntegerParsingError = /* @__PURE__ */ new TypeError("INTEGER_PARSING_ERROR");
|
|
67
|
+
function parseIntStrict(...[string, radix]) {
|
|
68
|
+
const trimmedString = string.trim();
|
|
69
|
+
if (!(radix && radix > 10 && radix <= 36 ? new RegExp(`^[+-]?[0-9a-${String.fromCharCode(87 + radix - 1)}]+$`, "i") : /^[+-]?\d+$/).test(trimmedString)) throw IntegerParsingError;
|
|
70
|
+
if (radix && radix < 10 && [...trimmedString].some((character) => {
|
|
71
|
+
return parseInt(character) >= radix;
|
|
72
|
+
})) throw IntegerParsingError;
|
|
73
|
+
const parseIntResult = parseInt(trimmedString, radix);
|
|
74
|
+
if (isNaN(parseIntResult)) throw IntegerParsingError;
|
|
75
|
+
return parseIntResult;
|
|
76
|
+
}
|
|
77
|
+
var parseIntStrict_default = parseIntStrict;
|
|
78
|
+
|
|
79
|
+
//#endregion
|
|
80
|
+
//#region src/functions/getRandomNumber.ts
|
|
81
|
+
function getRandomNumber(lowerBound, upperBound) {
|
|
82
|
+
const parsedLowerBound = parseIntStrict_default(`${lowerBound}`);
|
|
83
|
+
const parsedUpperBound = parseIntStrict_default(`${upperBound}`);
|
|
84
|
+
return Math.floor(Math.random() * (parsedUpperBound - parsedLowerBound + 1) + parsedLowerBound);
|
|
85
|
+
}
|
|
86
|
+
var getRandomNumber_default = getRandomNumber;
|
|
87
|
+
|
|
88
|
+
//#endregion
|
|
89
|
+
//#region src/functions/arrayHelpers/randomiseArray.ts
|
|
90
|
+
function randomiseArray(array) {
|
|
91
|
+
const mutableArray = [...array];
|
|
92
|
+
const outputArray = [];
|
|
93
|
+
do {
|
|
94
|
+
const indexToRemove = getRandomNumber_default(0, mutableArray.length - 1);
|
|
95
|
+
outputArray.push(mutableArray.splice(indexToRemove, 1)[0]);
|
|
96
|
+
} while (mutableArray.length > 0);
|
|
97
|
+
return outputArray;
|
|
98
|
+
}
|
|
99
|
+
var randomiseArray_default = randomiseArray;
|
|
100
|
+
|
|
101
|
+
//#endregion
|
|
102
|
+
//#region src/functions/arrayHelpers/range.ts
|
|
103
|
+
function range(start, stop, step = 1) {
|
|
104
|
+
const numbers = [];
|
|
105
|
+
if (step === 0) throw new Error("ZERO_STEP_SIZE_NOT_ALLOWED");
|
|
106
|
+
else if (step > 0) {
|
|
107
|
+
if (start > stop) throw new Error("INVALID_BOUNDARIES");
|
|
108
|
+
for (let i = start; i < stop; i += step) numbers.push(i);
|
|
109
|
+
} else if (step < 0) {
|
|
110
|
+
if (start < stop) throw new Error("INVALID_BOUNDARIES");
|
|
111
|
+
for (let i = start; i > stop; i += step) numbers.push(i);
|
|
112
|
+
}
|
|
113
|
+
return numbers;
|
|
114
|
+
}
|
|
115
|
+
var range_default = range;
|
|
116
|
+
|
|
51
117
|
//#endregion
|
|
52
118
|
//#region src/functions/camelToKebab.ts
|
|
53
119
|
function camelToKebab(string) {
|
|
@@ -141,27 +207,23 @@ function createTemplateStringsArray(strings) {
|
|
|
141
207
|
var createTemplateStringsArray_default = createTemplateStringsArray;
|
|
142
208
|
|
|
143
209
|
//#endregion
|
|
144
|
-
//#region src/functions/
|
|
145
|
-
function
|
|
146
|
-
const
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
if (outputArray.some((item) => {
|
|
150
|
-
return item instanceof Promise;
|
|
151
|
-
})) return Promise.all(outputArray);
|
|
152
|
-
return outputArray;
|
|
210
|
+
//#region src/functions/date/addDaysToDate.ts
|
|
211
|
+
function addDaysToDate(currentDate = /* @__PURE__ */ new Date(), dayIncrement = 1) {
|
|
212
|
+
const newDate = currentDate;
|
|
213
|
+
newDate.setDate(newDate.getDate() + dayIncrement);
|
|
214
|
+
return newDate;
|
|
153
215
|
}
|
|
154
|
-
var
|
|
216
|
+
var addDaysToDate_default = addDaysToDate;
|
|
155
217
|
|
|
156
218
|
//#endregion
|
|
157
|
-
//#region src/functions/isSameDate.ts
|
|
219
|
+
//#region src/functions/date/isSameDate.ts
|
|
158
220
|
function isSameDate(firstDate, secondDate) {
|
|
159
221
|
return firstDate.getDate() === secondDate.getDate() && firstDate.getMonth() === secondDate.getMonth() && firstDate.getFullYear() === secondDate.getFullYear();
|
|
160
222
|
}
|
|
161
223
|
var isSameDate_default = isSameDate;
|
|
162
224
|
|
|
163
225
|
//#endregion
|
|
164
|
-
//#region src/functions/formatDateAndTime.ts
|
|
226
|
+
//#region src/functions/date/formatDateAndTime.ts
|
|
165
227
|
function formatDateAndTime(inputDate) {
|
|
166
228
|
const yesterday = addDaysToDate_default(/* @__PURE__ */ new Date(), -1);
|
|
167
229
|
const today = /* @__PURE__ */ new Date();
|
|
@@ -173,38 +235,7 @@ function formatDateAndTime(inputDate) {
|
|
|
173
235
|
var formatDateAndTime_default = formatDateAndTime;
|
|
174
236
|
|
|
175
237
|
//#endregion
|
|
176
|
-
//#region src/functions/
|
|
177
|
-
const IntegerParsingError = /* @__PURE__ */ new TypeError("INTEGER_PARSING_ERROR");
|
|
178
|
-
function parseIntStrict(...[string, radix]) {
|
|
179
|
-
const trimmedString = string.trim();
|
|
180
|
-
if (!(radix && radix > 10 && radix <= 36 ? new RegExp(`^[+-]?[0-9a-${String.fromCharCode(87 + radix - 1)}]+$`, "i") : /^[+-]?\d+$/).test(trimmedString)) throw IntegerParsingError;
|
|
181
|
-
if (radix && radix < 10 && [...trimmedString].some((character) => {
|
|
182
|
-
return parseInt(character) >= radix;
|
|
183
|
-
})) throw IntegerParsingError;
|
|
184
|
-
const parseIntResult = parseInt(trimmedString, radix);
|
|
185
|
-
if (isNaN(parseIntResult)) throw IntegerParsingError;
|
|
186
|
-
return parseIntResult;
|
|
187
|
-
}
|
|
188
|
-
var parseIntStrict_default = parseIntStrict;
|
|
189
|
-
|
|
190
|
-
//#endregion
|
|
191
|
-
//#region src/functions/getRandomNumber.ts
|
|
192
|
-
function getRandomNumber(lowerBound, upperBound) {
|
|
193
|
-
const parsedLowerBound = parseIntStrict_default(`${lowerBound}`);
|
|
194
|
-
const parsedUpperBound = parseIntStrict_default(`${upperBound}`);
|
|
195
|
-
return Math.floor(Math.random() * (parsedUpperBound - parsedLowerBound + 1) + parsedLowerBound);
|
|
196
|
-
}
|
|
197
|
-
var getRandomNumber_default = getRandomNumber;
|
|
198
|
-
|
|
199
|
-
//#endregion
|
|
200
|
-
//#region src/functions/getRecordKeys.ts
|
|
201
|
-
function getRecordKeys(record) {
|
|
202
|
-
return Object.keys(record);
|
|
203
|
-
}
|
|
204
|
-
var getRecordKeys_default = getRecordKeys;
|
|
205
|
-
|
|
206
|
-
//#endregion
|
|
207
|
-
//#region src/functions/isLeapYear.ts
|
|
238
|
+
//#region src/functions/date/isLeapYear.ts
|
|
208
239
|
function isLeapYear(year) {
|
|
209
240
|
const parsedYear = parseIntStrict_default(`${year}`);
|
|
210
241
|
return parsedYear % 4 === 0 && parsedYear % 100 !== 0 || parsedYear % 400 === 0;
|
|
@@ -212,7 +243,19 @@ function isLeapYear(year) {
|
|
|
212
243
|
var isLeapYear_default = isLeapYear;
|
|
213
244
|
|
|
214
245
|
//#endregion
|
|
215
|
-
//#region src/functions/
|
|
246
|
+
//#region src/functions/date/isAnniversary.ts
|
|
247
|
+
function checkLeapYear(firstDate, secondDate) {
|
|
248
|
+
if (isLeapYear_default(firstDate.getFullYear()) && firstDate.getMonth() === 1 && secondDate.getMonth() === 1) return firstDate.getDate() === 29 && secondDate.getDate() === 28;
|
|
249
|
+
return false;
|
|
250
|
+
}
|
|
251
|
+
function isAnniversary(firstDate, secondDate) {
|
|
252
|
+
if (checkLeapYear(firstDate, secondDate) || checkLeapYear(secondDate, firstDate)) return true;
|
|
253
|
+
return firstDate.getDate() === secondDate.getDate() && firstDate.getMonth() === secondDate.getMonth();
|
|
254
|
+
}
|
|
255
|
+
var isAnniversary_default = isAnniversary;
|
|
256
|
+
|
|
257
|
+
//#endregion
|
|
258
|
+
//#region src/functions/date/isMonthlyMultiple.ts
|
|
216
259
|
function endOfMonthChecksButNotFebruary(firstDate, secondDate) {
|
|
217
260
|
if ([
|
|
218
261
|
3,
|
|
@@ -251,6 +294,13 @@ function isMonthlyMultiple(firstDate, secondDate) {
|
|
|
251
294
|
}
|
|
252
295
|
var isMonthlyMultiple_default = isMonthlyMultiple;
|
|
253
296
|
|
|
297
|
+
//#endregion
|
|
298
|
+
//#region src/functions/getRecordKeys.ts
|
|
299
|
+
function getRecordKeys(record) {
|
|
300
|
+
return Object.keys(record);
|
|
301
|
+
}
|
|
302
|
+
var getRecordKeys_default = getRecordKeys;
|
|
303
|
+
|
|
254
304
|
//#endregion
|
|
255
305
|
//#region src/functions/isOrdered.ts
|
|
256
306
|
function isOrdered(array) {
|
|
@@ -313,13 +363,27 @@ function omitProperties(object, keysToOmit) {
|
|
|
313
363
|
var omitProperties_default = omitProperties;
|
|
314
364
|
|
|
315
365
|
//#endregion
|
|
316
|
-
//#region src/functions/
|
|
317
|
-
function
|
|
318
|
-
const
|
|
319
|
-
|
|
320
|
-
return
|
|
366
|
+
//#region src/functions/parsers/parseBoolean.ts
|
|
367
|
+
function parseBoolean(inputString) {
|
|
368
|
+
const normalisedString = inputString.toLowerCase();
|
|
369
|
+
if (normalisedString !== "true" && normalisedString !== "false") throw new TypeError("INVALID_BOOLEAN_STRING");
|
|
370
|
+
return normalisedString === "true";
|
|
321
371
|
}
|
|
322
|
-
|
|
372
|
+
/** @deprecated This function has been renamed to parseBoolean. */
|
|
373
|
+
const stringToBoolean = parseBoolean;
|
|
374
|
+
var parseBoolean_default = parseBoolean;
|
|
375
|
+
|
|
376
|
+
//#endregion
|
|
377
|
+
//#region src/functions/parsers/parseFormData.ts
|
|
378
|
+
function parseFormData(formData, dataParser) {
|
|
379
|
+
const object = {};
|
|
380
|
+
formData.forEach((value, key) => {
|
|
381
|
+
object[key] = value;
|
|
382
|
+
});
|
|
383
|
+
if (dataParser) return dataParser(object);
|
|
384
|
+
return object;
|
|
385
|
+
}
|
|
386
|
+
var parseFormData_default = parseFormData;
|
|
323
387
|
|
|
324
388
|
//#endregion
|
|
325
389
|
//#region src/types/APIError.ts
|
|
@@ -402,7 +466,7 @@ function parseUUID(UUID) {
|
|
|
402
466
|
var UUID_default = parseUUID;
|
|
403
467
|
|
|
404
468
|
//#endregion
|
|
405
|
-
//#region src/functions/parseZodSchema.ts
|
|
469
|
+
//#region src/functions/parsers/parseZodSchema.ts
|
|
406
470
|
function parseZodSchema(schema, data) {
|
|
407
471
|
const parsedResult = schema.safeParse(data);
|
|
408
472
|
if (!parsedResult.success) throw new DataError_default(data);
|
|
@@ -410,35 +474,6 @@ function parseZodSchema(schema, data) {
|
|
|
410
474
|
}
|
|
411
475
|
var parseZodSchema_default = parseZodSchema;
|
|
412
476
|
|
|
413
|
-
//#endregion
|
|
414
|
-
//#region src/functions/randomiseArray.ts
|
|
415
|
-
function randomiseArray(array) {
|
|
416
|
-
const mutableArray = [...array];
|
|
417
|
-
const outputArray = [];
|
|
418
|
-
do {
|
|
419
|
-
const indexToRemove = getRandomNumber_default(0, mutableArray.length - 1);
|
|
420
|
-
outputArray.push(mutableArray.splice(indexToRemove, 1)[0]);
|
|
421
|
-
} while (mutableArray.length > 0);
|
|
422
|
-
return outputArray;
|
|
423
|
-
}
|
|
424
|
-
var randomiseArray_default = randomiseArray;
|
|
425
|
-
|
|
426
|
-
//#endregion
|
|
427
|
-
//#region src/functions/range.ts
|
|
428
|
-
function range(start, stop, step = 1) {
|
|
429
|
-
const numbers = [];
|
|
430
|
-
if (step === 0) throw new Error("ZERO_STEP_SIZE_NOT_ALLOWED");
|
|
431
|
-
else if (step > 0) {
|
|
432
|
-
if (start > stop) throw new Error("INVALID_BOUNDARIES");
|
|
433
|
-
for (let i = start; i < stop; i += step) numbers.push(i);
|
|
434
|
-
} else if (step < 0) {
|
|
435
|
-
if (start < stop) throw new Error("INVALID_BOUNDARIES");
|
|
436
|
-
for (let i = start; i > stop; i += step) numbers.push(i);
|
|
437
|
-
}
|
|
438
|
-
return numbers;
|
|
439
|
-
}
|
|
440
|
-
var range_default = range;
|
|
441
|
-
|
|
442
477
|
//#endregion
|
|
443
478
|
//#region src/functions/removeDuplicates.ts
|
|
444
479
|
function removeDuplicates(array) {
|
|
@@ -459,33 +494,6 @@ function stringListToArray(stringList, { separator = ",", trimWhitespace = true
|
|
|
459
494
|
}
|
|
460
495
|
var stringListToArray_default = stringListToArray;
|
|
461
496
|
|
|
462
|
-
//#endregion
|
|
463
|
-
//#region src/functions/stringToBoolean.ts
|
|
464
|
-
function stringToBoolean(inputString) {
|
|
465
|
-
const normalisedString = inputString.toLowerCase();
|
|
466
|
-
if (normalisedString !== "true" && normalisedString !== "false") throw new TypeError("INVALID_BOOLEAN_STRING");
|
|
467
|
-
return normalisedString === "true";
|
|
468
|
-
}
|
|
469
|
-
var stringToBoolean_default = stringToBoolean;
|
|
470
|
-
|
|
471
|
-
//#endregion
|
|
472
|
-
//#region src/functions/truncate.ts
|
|
473
|
-
function truncate(stringToTruncate, maxLength = 5) {
|
|
474
|
-
return stringToTruncate.length > maxLength ? `${stringToTruncate.slice(0, maxLength)}...` : stringToTruncate;
|
|
475
|
-
}
|
|
476
|
-
var truncate_default = truncate;
|
|
477
|
-
|
|
478
|
-
//#endregion
|
|
479
|
-
//#region src/functions/wait.ts
|
|
480
|
-
function wait(seconds) {
|
|
481
|
-
return new Promise((resolve, _) => {
|
|
482
|
-
setTimeout(() => {
|
|
483
|
-
resolve();
|
|
484
|
-
}, seconds * 1e3);
|
|
485
|
-
});
|
|
486
|
-
}
|
|
487
|
-
var wait_default = wait;
|
|
488
|
-
|
|
489
497
|
//#endregion
|
|
490
498
|
//#region src/functions/taggedTemplate/interpolate.ts
|
|
491
499
|
function interpolate(strings, ...interpolations) {
|
|
@@ -546,6 +554,24 @@ function removeIndents(first, ...args) {
|
|
|
546
554
|
}
|
|
547
555
|
var removeIndents_default = removeIndents;
|
|
548
556
|
|
|
557
|
+
//#endregion
|
|
558
|
+
//#region src/functions/truncate.ts
|
|
559
|
+
function truncate(stringToTruncate, maxLength = 5) {
|
|
560
|
+
return stringToTruncate.length > maxLength ? `${stringToTruncate.slice(0, maxLength)}...` : stringToTruncate;
|
|
561
|
+
}
|
|
562
|
+
var truncate_default = truncate;
|
|
563
|
+
|
|
564
|
+
//#endregion
|
|
565
|
+
//#region src/functions/wait.ts
|
|
566
|
+
function wait(seconds) {
|
|
567
|
+
return new Promise((resolve, _) => {
|
|
568
|
+
setTimeout(() => {
|
|
569
|
+
resolve();
|
|
570
|
+
}, seconds * 1e3);
|
|
571
|
+
});
|
|
572
|
+
}
|
|
573
|
+
var wait_default = wait;
|
|
574
|
+
|
|
549
575
|
//#endregion
|
|
550
576
|
exports.APIError = APIError_default;
|
|
551
577
|
exports.DataError = DataError_default;
|
|
@@ -562,6 +588,7 @@ exports.getRecordKeys = getRecordKeys_default;
|
|
|
562
588
|
exports.httpErrorCodeLookup = httpErrorCodeLookup;
|
|
563
589
|
exports.interpolate = interpolate_default;
|
|
564
590
|
exports.interpolateObjects = interpolateObjects_default;
|
|
591
|
+
exports.isAnniversary = isAnniversary_default;
|
|
565
592
|
exports.isLeapYear = isLeapYear_default;
|
|
566
593
|
exports.isMonthlyMultiple = isMonthlyMultiple_default;
|
|
567
594
|
exports.isOrdered = isOrdered_default;
|
|
@@ -571,8 +598,10 @@ exports.normaliseImportPath = normaliseImportPath;
|
|
|
571
598
|
exports.normalizeImportPath = normalizeImportPath_default;
|
|
572
599
|
exports.omitProperties = omitProperties_default;
|
|
573
600
|
exports.paralleliseArrays = paralleliseArrays_default;
|
|
601
|
+
exports.parseBoolean = parseBoolean_default;
|
|
574
602
|
exports.parseEmail = Email_default;
|
|
575
603
|
exports.parseEnv = Env_default;
|
|
604
|
+
exports.parseFormData = parseFormData_default;
|
|
576
605
|
exports.parseIntStrict = parseIntStrict_default;
|
|
577
606
|
exports.parseUUID = UUID_default;
|
|
578
607
|
exports.parseZodSchema = parseZodSchema_default;
|
|
@@ -581,6 +610,6 @@ exports.range = range_default;
|
|
|
581
610
|
exports.removeDuplicates = removeDuplicates_default;
|
|
582
611
|
exports.removeIndents = removeIndents_default;
|
|
583
612
|
exports.stringListToArray = stringListToArray_default;
|
|
584
|
-
exports.stringToBoolean =
|
|
613
|
+
exports.stringToBoolean = stringToBoolean;
|
|
585
614
|
exports.truncate = truncate_default;
|
|
586
615
|
exports.wait = wait_default;
|
package/dist/index.d.cts
CHANGED
|
@@ -1,11 +1,22 @@
|
|
|
1
1
|
import z, { ZodType, core, z as z$1 } from "zod";
|
|
2
2
|
|
|
3
|
-
//#region src/functions/addDaysToDate.d.ts
|
|
4
|
-
declare function addDaysToDate(currentDate?: Date, dayIncrement?: number): Date;
|
|
5
|
-
//#endregion
|
|
6
3
|
//#region src/functions/appendSemicolon.d.ts
|
|
7
4
|
declare function appendSemicolon(stringToAppendTo: string): string;
|
|
8
5
|
//#endregion
|
|
6
|
+
//#region src/functions/arrayHelpers/fillArray.d.ts
|
|
7
|
+
declare function fillArray<T>(callback: (index: number) => Promise<T>, length?: number): Promise<T[]>;
|
|
8
|
+
declare function fillArray<T>(callback: (index: number) => T, length?: number): T[];
|
|
9
|
+
//#endregion
|
|
10
|
+
//#region src/functions/arrayHelpers/paralleliseArrays.d.ts
|
|
11
|
+
type ParallelTuple<A, B> = [A, B | undefined];
|
|
12
|
+
declare function paralleliseArrays<FirstArrayItem, SecondArrayItem>(firstArray: FirstArrayItem[] | readonly FirstArrayItem[], secondArray: SecondArrayItem[] | readonly SecondArrayItem[]): ParallelTuple<FirstArrayItem, SecondArrayItem>[];
|
|
13
|
+
//#endregion
|
|
14
|
+
//#region src/functions/arrayHelpers/randomiseArray.d.ts
|
|
15
|
+
declare function randomiseArray<T>(array: T[]): T[];
|
|
16
|
+
//#endregion
|
|
17
|
+
//#region src/functions/arrayHelpers/range.d.ts
|
|
18
|
+
declare function range(start: number, stop: number, step?: number): number[];
|
|
19
|
+
//#endregion
|
|
9
20
|
//#region src/functions/camelToKebab.d.ts
|
|
10
21
|
declare function camelToKebab(string: string): string;
|
|
11
22
|
//#endregion
|
|
@@ -89,31 +100,33 @@ declare function createFormData<T extends Record<RecordKey, unknown>>(data: T, o
|
|
|
89
100
|
//#region src/functions/createTemplateStringsArray.d.ts
|
|
90
101
|
declare function createTemplateStringsArray(strings: readonly string[]): TemplateStringsArray;
|
|
91
102
|
//#endregion
|
|
92
|
-
//#region src/functions/
|
|
93
|
-
declare function
|
|
94
|
-
declare function fillArray<T>(callback: (index: number) => T, length?: number): T[];
|
|
103
|
+
//#region src/functions/date/addDaysToDate.d.ts
|
|
104
|
+
declare function addDaysToDate(currentDate?: Date, dayIncrement?: number): Date;
|
|
95
105
|
//#endregion
|
|
96
|
-
//#region src/functions/formatDateAndTime.d.ts
|
|
106
|
+
//#region src/functions/date/formatDateAndTime.d.ts
|
|
97
107
|
declare function formatDateAndTime(inputDate: Date): string;
|
|
98
108
|
//#endregion
|
|
109
|
+
//#region src/functions/date/isAnniversary.d.ts
|
|
110
|
+
declare function isAnniversary(firstDate: Date, secondDate: Date): boolean;
|
|
111
|
+
//#endregion
|
|
112
|
+
//#region src/functions/date/isLeapYear.d.ts
|
|
113
|
+
declare function isLeapYear(year: number): boolean;
|
|
114
|
+
//#endregion
|
|
115
|
+
//#region src/functions/date/isMonthlyMultiple.d.ts
|
|
116
|
+
declare function isMonthlyMultiple(firstDate: Date, secondDate: Date): boolean;
|
|
117
|
+
//#endregion
|
|
118
|
+
//#region src/functions/date/isSameDate.d.ts
|
|
119
|
+
declare function isSameDate(firstDate: Date, secondDate: Date): boolean;
|
|
120
|
+
//#endregion
|
|
99
121
|
//#region src/functions/getRandomNumber.d.ts
|
|
100
122
|
declare function getRandomNumber(lowerBound: number, upperBound: number): number;
|
|
101
123
|
//#endregion
|
|
102
124
|
//#region src/functions/getRecordKeys.d.ts
|
|
103
125
|
declare function getRecordKeys<T extends Record<RecordKey, unknown>>(record: T & object): (keyof T)[];
|
|
104
126
|
//#endregion
|
|
105
|
-
//#region src/functions/isLeapYear.d.ts
|
|
106
|
-
declare function isLeapYear(year: number): boolean;
|
|
107
|
-
//#endregion
|
|
108
|
-
//#region src/functions/isMonthlyMultiple.d.ts
|
|
109
|
-
declare function isMonthlyMultiple(firstDate: Date, secondDate: Date): boolean;
|
|
110
|
-
//#endregion
|
|
111
127
|
//#region src/functions/isOrdered.d.ts
|
|
112
128
|
declare function isOrdered(array: readonly number[] | number[]): boolean;
|
|
113
129
|
//#endregion
|
|
114
|
-
//#region src/functions/isSameDate.d.ts
|
|
115
|
-
declare function isSameDate(firstDate: Date, secondDate: Date): boolean;
|
|
116
|
-
//#endregion
|
|
117
130
|
//#region src/functions/kebabToCamel.d.ts
|
|
118
131
|
interface KebabToCamelOptions {
|
|
119
132
|
startWithUpper?: boolean;
|
|
@@ -127,22 +140,21 @@ declare const normaliseImportPath: typeof normalizeImportPath;
|
|
|
127
140
|
//#region src/functions/omitProperties.d.ts
|
|
128
141
|
declare function omitProperties<T extends Record<string, unknown> | Readonly<Record<string, unknown>>, K extends keyof T>(object: T, keysToOmit: K | readonly K[]): Omit<T, K>;
|
|
129
142
|
//#endregion
|
|
130
|
-
//#region src/functions/
|
|
131
|
-
|
|
132
|
-
|
|
143
|
+
//#region src/functions/parsers/parseBoolean.d.ts
|
|
144
|
+
declare function parseBoolean(inputString: string): boolean;
|
|
145
|
+
/** @deprecated This function has been renamed to parseBoolean. */
|
|
146
|
+
declare const stringToBoolean: typeof parseBoolean;
|
|
133
147
|
//#endregion
|
|
134
|
-
//#region src/functions/
|
|
148
|
+
//#region src/functions/parsers/parseFormData.d.ts
|
|
149
|
+
declare function parseFormData<T>(formData: FormData, dataParser: (data: Record<string, string | Blob>) => T): T;
|
|
150
|
+
declare function parseFormData(formData: FormData): Record<string, string | Blob>;
|
|
151
|
+
//#endregion
|
|
152
|
+
//#region src/functions/parsers/parseIntStrict.d.ts
|
|
135
153
|
declare function parseIntStrict(...[string, radix]: Parameters<typeof parseInt>): number;
|
|
136
154
|
//#endregion
|
|
137
|
-
//#region src/functions/parseZodSchema.d.ts
|
|
155
|
+
//#region src/functions/parsers/parseZodSchema.d.ts
|
|
138
156
|
declare function parseZodSchema<Output, Input, Internals extends core.$ZodTypeInternals<Output, Input>>(schema: ZodType<Output, Input, Internals>, data: unknown): core.output<ZodType<Output, Input, Internals>>;
|
|
139
157
|
//#endregion
|
|
140
|
-
//#region src/functions/randomiseArray.d.ts
|
|
141
|
-
declare function randomiseArray<T>(array: T[]): T[];
|
|
142
|
-
//#endregion
|
|
143
|
-
//#region src/functions/range.d.ts
|
|
144
|
-
declare function range(start: number, stop: number, step?: number): number[];
|
|
145
|
-
//#endregion
|
|
146
158
|
//#region src/functions/removeDuplicates.d.ts
|
|
147
159
|
declare function removeDuplicates<T>(array: T[] | readonly T[]): T[];
|
|
148
160
|
//#endregion
|
|
@@ -156,15 +168,6 @@ declare function stringListToArray(stringList: string, {
|
|
|
156
168
|
trimWhitespace
|
|
157
169
|
}?: StringListToArrayOptions): string[];
|
|
158
170
|
//#endregion
|
|
159
|
-
//#region src/functions/stringToBoolean.d.ts
|
|
160
|
-
declare function stringToBoolean(inputString: string): boolean;
|
|
161
|
-
//#endregion
|
|
162
|
-
//#region src/functions/truncate.d.ts
|
|
163
|
-
declare function truncate(stringToTruncate: string, maxLength?: number): string;
|
|
164
|
-
//#endregion
|
|
165
|
-
//#region src/functions/wait.d.ts
|
|
166
|
-
declare function wait(seconds: number): Promise<void>;
|
|
167
|
-
//#endregion
|
|
168
171
|
//#region src/functions/taggedTemplate/interpolate.d.ts
|
|
169
172
|
declare function interpolate(strings: TemplateStringsArray, ...interpolations: unknown[]): string;
|
|
170
173
|
//#endregion
|
|
@@ -179,4 +182,10 @@ type RemoveIndentsFunction = (strings: TemplateStringsArray, ...interpolations:
|
|
|
179
182
|
declare function removeIndents(options: RemoveIndentsOptions): RemoveIndentsFunction;
|
|
180
183
|
declare function removeIndents(strings: TemplateStringsArray, ...interpolations: unknown[]): string;
|
|
181
184
|
//#endregion
|
|
182
|
-
|
|
185
|
+
//#region src/functions/truncate.d.ts
|
|
186
|
+
declare function truncate(stringToTruncate: string, maxLength?: number): string;
|
|
187
|
+
//#endregion
|
|
188
|
+
//#region src/functions/wait.d.ts
|
|
189
|
+
declare function wait(seconds: number): Promise<void>;
|
|
190
|
+
//#endregion
|
|
191
|
+
export { APIError, CreateFormDataOptions, CreateFormDataOptionsNullableResolution, CreateFormDataOptionsUndefinedOrNullResolution, DataError, DisallowUndefined, Email, Env, FormDataNullableResolutionStrategy as FormDataResolutionStrategy, HTTPErrorCode, IgnoreCase, KebabToCamelOptions, NonUndefined, OptionalOnCondition, RecordKey, RemoveIndentsFunction, RemoveIndentsOptions, StringListToArrayOptions, UUID, addDaysToDate, appendSemicolon, camelToKebab, convertFileToBase64, createFormData, createTemplateStringsArray, fillArray, formatDateAndTime, getRandomNumber, getRecordKeys, httpErrorCodeLookup, interpolate, interpolateObjects, isAnniversary, isLeapYear, isMonthlyMultiple, isOrdered, isSameDate, kebabToCamel, normaliseImportPath, normalizeImportPath, omitProperties, paralleliseArrays, parseBoolean, parseEmail, parseEnv, parseFormData, parseIntStrict, parseUUID, parseZodSchema, randomiseArray, range, removeDuplicates, removeIndents, stringListToArray, stringToBoolean, truncate, wait };
|
package/dist/index.d.ts
CHANGED
|
@@ -1,11 +1,22 @@
|
|
|
1
1
|
import z, { ZodType, core, z as z$1 } from "zod";
|
|
2
2
|
|
|
3
|
-
//#region src/functions/addDaysToDate.d.ts
|
|
4
|
-
declare function addDaysToDate(currentDate?: Date, dayIncrement?: number): Date;
|
|
5
|
-
//#endregion
|
|
6
3
|
//#region src/functions/appendSemicolon.d.ts
|
|
7
4
|
declare function appendSemicolon(stringToAppendTo: string): string;
|
|
8
5
|
//#endregion
|
|
6
|
+
//#region src/functions/arrayHelpers/fillArray.d.ts
|
|
7
|
+
declare function fillArray<T>(callback: (index: number) => Promise<T>, length?: number): Promise<T[]>;
|
|
8
|
+
declare function fillArray<T>(callback: (index: number) => T, length?: number): T[];
|
|
9
|
+
//#endregion
|
|
10
|
+
//#region src/functions/arrayHelpers/paralleliseArrays.d.ts
|
|
11
|
+
type ParallelTuple<A, B> = [A, B | undefined];
|
|
12
|
+
declare function paralleliseArrays<FirstArrayItem, SecondArrayItem>(firstArray: FirstArrayItem[] | readonly FirstArrayItem[], secondArray: SecondArrayItem[] | readonly SecondArrayItem[]): ParallelTuple<FirstArrayItem, SecondArrayItem>[];
|
|
13
|
+
//#endregion
|
|
14
|
+
//#region src/functions/arrayHelpers/randomiseArray.d.ts
|
|
15
|
+
declare function randomiseArray<T>(array: T[]): T[];
|
|
16
|
+
//#endregion
|
|
17
|
+
//#region src/functions/arrayHelpers/range.d.ts
|
|
18
|
+
declare function range(start: number, stop: number, step?: number): number[];
|
|
19
|
+
//#endregion
|
|
9
20
|
//#region src/functions/camelToKebab.d.ts
|
|
10
21
|
declare function camelToKebab(string: string): string;
|
|
11
22
|
//#endregion
|
|
@@ -89,31 +100,33 @@ declare function createFormData<T extends Record<RecordKey, unknown>>(data: T, o
|
|
|
89
100
|
//#region src/functions/createTemplateStringsArray.d.ts
|
|
90
101
|
declare function createTemplateStringsArray(strings: readonly string[]): TemplateStringsArray;
|
|
91
102
|
//#endregion
|
|
92
|
-
//#region src/functions/
|
|
93
|
-
declare function
|
|
94
|
-
declare function fillArray<T>(callback: (index: number) => T, length?: number): T[];
|
|
103
|
+
//#region src/functions/date/addDaysToDate.d.ts
|
|
104
|
+
declare function addDaysToDate(currentDate?: Date, dayIncrement?: number): Date;
|
|
95
105
|
//#endregion
|
|
96
|
-
//#region src/functions/formatDateAndTime.d.ts
|
|
106
|
+
//#region src/functions/date/formatDateAndTime.d.ts
|
|
97
107
|
declare function formatDateAndTime(inputDate: Date): string;
|
|
98
108
|
//#endregion
|
|
109
|
+
//#region src/functions/date/isAnniversary.d.ts
|
|
110
|
+
declare function isAnniversary(firstDate: Date, secondDate: Date): boolean;
|
|
111
|
+
//#endregion
|
|
112
|
+
//#region src/functions/date/isLeapYear.d.ts
|
|
113
|
+
declare function isLeapYear(year: number): boolean;
|
|
114
|
+
//#endregion
|
|
115
|
+
//#region src/functions/date/isMonthlyMultiple.d.ts
|
|
116
|
+
declare function isMonthlyMultiple(firstDate: Date, secondDate: Date): boolean;
|
|
117
|
+
//#endregion
|
|
118
|
+
//#region src/functions/date/isSameDate.d.ts
|
|
119
|
+
declare function isSameDate(firstDate: Date, secondDate: Date): boolean;
|
|
120
|
+
//#endregion
|
|
99
121
|
//#region src/functions/getRandomNumber.d.ts
|
|
100
122
|
declare function getRandomNumber(lowerBound: number, upperBound: number): number;
|
|
101
123
|
//#endregion
|
|
102
124
|
//#region src/functions/getRecordKeys.d.ts
|
|
103
125
|
declare function getRecordKeys<T extends Record<RecordKey, unknown>>(record: T & object): (keyof T)[];
|
|
104
126
|
//#endregion
|
|
105
|
-
//#region src/functions/isLeapYear.d.ts
|
|
106
|
-
declare function isLeapYear(year: number): boolean;
|
|
107
|
-
//#endregion
|
|
108
|
-
//#region src/functions/isMonthlyMultiple.d.ts
|
|
109
|
-
declare function isMonthlyMultiple(firstDate: Date, secondDate: Date): boolean;
|
|
110
|
-
//#endregion
|
|
111
127
|
//#region src/functions/isOrdered.d.ts
|
|
112
128
|
declare function isOrdered(array: readonly number[] | number[]): boolean;
|
|
113
129
|
//#endregion
|
|
114
|
-
//#region src/functions/isSameDate.d.ts
|
|
115
|
-
declare function isSameDate(firstDate: Date, secondDate: Date): boolean;
|
|
116
|
-
//#endregion
|
|
117
130
|
//#region src/functions/kebabToCamel.d.ts
|
|
118
131
|
interface KebabToCamelOptions {
|
|
119
132
|
startWithUpper?: boolean;
|
|
@@ -127,22 +140,21 @@ declare const normaliseImportPath: typeof normalizeImportPath;
|
|
|
127
140
|
//#region src/functions/omitProperties.d.ts
|
|
128
141
|
declare function omitProperties<T extends Record<string, unknown> | Readonly<Record<string, unknown>>, K extends keyof T>(object: T, keysToOmit: K | readonly K[]): Omit<T, K>;
|
|
129
142
|
//#endregion
|
|
130
|
-
//#region src/functions/
|
|
131
|
-
|
|
132
|
-
|
|
143
|
+
//#region src/functions/parsers/parseBoolean.d.ts
|
|
144
|
+
declare function parseBoolean(inputString: string): boolean;
|
|
145
|
+
/** @deprecated This function has been renamed to parseBoolean. */
|
|
146
|
+
declare const stringToBoolean: typeof parseBoolean;
|
|
133
147
|
//#endregion
|
|
134
|
-
//#region src/functions/
|
|
148
|
+
//#region src/functions/parsers/parseFormData.d.ts
|
|
149
|
+
declare function parseFormData<T>(formData: FormData, dataParser: (data: Record<string, string | Blob>) => T): T;
|
|
150
|
+
declare function parseFormData(formData: FormData): Record<string, string | Blob>;
|
|
151
|
+
//#endregion
|
|
152
|
+
//#region src/functions/parsers/parseIntStrict.d.ts
|
|
135
153
|
declare function parseIntStrict(...[string, radix]: Parameters<typeof parseInt>): number;
|
|
136
154
|
//#endregion
|
|
137
|
-
//#region src/functions/parseZodSchema.d.ts
|
|
155
|
+
//#region src/functions/parsers/parseZodSchema.d.ts
|
|
138
156
|
declare function parseZodSchema<Output, Input, Internals extends core.$ZodTypeInternals<Output, Input>>(schema: ZodType<Output, Input, Internals>, data: unknown): core.output<ZodType<Output, Input, Internals>>;
|
|
139
157
|
//#endregion
|
|
140
|
-
//#region src/functions/randomiseArray.d.ts
|
|
141
|
-
declare function randomiseArray<T>(array: T[]): T[];
|
|
142
|
-
//#endregion
|
|
143
|
-
//#region src/functions/range.d.ts
|
|
144
|
-
declare function range(start: number, stop: number, step?: number): number[];
|
|
145
|
-
//#endregion
|
|
146
158
|
//#region src/functions/removeDuplicates.d.ts
|
|
147
159
|
declare function removeDuplicates<T>(array: T[] | readonly T[]): T[];
|
|
148
160
|
//#endregion
|
|
@@ -156,15 +168,6 @@ declare function stringListToArray(stringList: string, {
|
|
|
156
168
|
trimWhitespace
|
|
157
169
|
}?: StringListToArrayOptions): string[];
|
|
158
170
|
//#endregion
|
|
159
|
-
//#region src/functions/stringToBoolean.d.ts
|
|
160
|
-
declare function stringToBoolean(inputString: string): boolean;
|
|
161
|
-
//#endregion
|
|
162
|
-
//#region src/functions/truncate.d.ts
|
|
163
|
-
declare function truncate(stringToTruncate: string, maxLength?: number): string;
|
|
164
|
-
//#endregion
|
|
165
|
-
//#region src/functions/wait.d.ts
|
|
166
|
-
declare function wait(seconds: number): Promise<void>;
|
|
167
|
-
//#endregion
|
|
168
171
|
//#region src/functions/taggedTemplate/interpolate.d.ts
|
|
169
172
|
declare function interpolate(strings: TemplateStringsArray, ...interpolations: unknown[]): string;
|
|
170
173
|
//#endregion
|
|
@@ -179,4 +182,10 @@ type RemoveIndentsFunction = (strings: TemplateStringsArray, ...interpolations:
|
|
|
179
182
|
declare function removeIndents(options: RemoveIndentsOptions): RemoveIndentsFunction;
|
|
180
183
|
declare function removeIndents(strings: TemplateStringsArray, ...interpolations: unknown[]): string;
|
|
181
184
|
//#endregion
|
|
182
|
-
|
|
185
|
+
//#region src/functions/truncate.d.ts
|
|
186
|
+
declare function truncate(stringToTruncate: string, maxLength?: number): string;
|
|
187
|
+
//#endregion
|
|
188
|
+
//#region src/functions/wait.d.ts
|
|
189
|
+
declare function wait(seconds: number): Promise<void>;
|
|
190
|
+
//#endregion
|
|
191
|
+
export { APIError, type CreateFormDataOptions, type CreateFormDataOptionsNullableResolution, type CreateFormDataOptionsUndefinedOrNullResolution, DataError, type DisallowUndefined, type Email, type Env, type FormDataNullableResolutionStrategy as FormDataResolutionStrategy, type HTTPErrorCode, type IgnoreCase, type KebabToCamelOptions, type NonUndefined, type OptionalOnCondition, type RecordKey, RemoveIndentsFunction, RemoveIndentsOptions, type StringListToArrayOptions, type UUID, addDaysToDate, appendSemicolon, camelToKebab, convertFileToBase64, createFormData, createTemplateStringsArray, fillArray, formatDateAndTime, getRandomNumber, getRecordKeys, httpErrorCodeLookup, interpolate, interpolateObjects, isAnniversary, isLeapYear, isMonthlyMultiple, isOrdered, isSameDate, kebabToCamel, normaliseImportPath, normalizeImportPath, omitProperties, paralleliseArrays, parseBoolean, parseEmail, parseEnv, parseFormData, parseIntStrict, parseUUID, parseZodSchema, randomiseArray, range, removeDuplicates, removeIndents, stringListToArray, stringToBoolean, truncate, wait };
|
package/dist/index.js
CHANGED
|
@@ -1,15 +1,6 @@
|
|
|
1
1
|
import path from "path";
|
|
2
2
|
import z, { z as z$1 } from "zod";
|
|
3
3
|
|
|
4
|
-
//#region src/functions/addDaysToDate.ts
|
|
5
|
-
function addDaysToDate(currentDate = /* @__PURE__ */ new Date(), dayIncrement = 1) {
|
|
6
|
-
const newDate = currentDate;
|
|
7
|
-
newDate.setDate(newDate.getDate() + dayIncrement);
|
|
8
|
-
return newDate;
|
|
9
|
-
}
|
|
10
|
-
var addDaysToDate_default = addDaysToDate;
|
|
11
|
-
|
|
12
|
-
//#endregion
|
|
13
4
|
//#region src/functions/appendSemicolon.ts
|
|
14
5
|
function appendSemicolon(stringToAppendTo) {
|
|
15
6
|
if (stringToAppendTo.includes("\n")) throw new Error("MULTIPLE_LINE_ERROR");
|
|
@@ -19,6 +10,81 @@ function appendSemicolon(stringToAppendTo) {
|
|
|
19
10
|
}
|
|
20
11
|
var appendSemicolon_default = appendSemicolon;
|
|
21
12
|
|
|
13
|
+
//#endregion
|
|
14
|
+
//#region src/functions/arrayHelpers/fillArray.ts
|
|
15
|
+
function fillArray(callback, length = 1) {
|
|
16
|
+
const outputArray = new Array(length).fill(null).map((_, index) => {
|
|
17
|
+
return callback(index);
|
|
18
|
+
});
|
|
19
|
+
if (outputArray.some((item) => {
|
|
20
|
+
return item instanceof Promise;
|
|
21
|
+
})) return Promise.all(outputArray);
|
|
22
|
+
return outputArray;
|
|
23
|
+
}
|
|
24
|
+
var fillArray_default = fillArray;
|
|
25
|
+
|
|
26
|
+
//#endregion
|
|
27
|
+
//#region src/functions/arrayHelpers/paralleliseArrays.ts
|
|
28
|
+
function paralleliseArrays(firstArray, secondArray) {
|
|
29
|
+
const outputArray = [];
|
|
30
|
+
for (let i = 0; i < firstArray.length; i++) outputArray.push([firstArray[i], secondArray[i]]);
|
|
31
|
+
return outputArray;
|
|
32
|
+
}
|
|
33
|
+
var paralleliseArrays_default = paralleliseArrays;
|
|
34
|
+
|
|
35
|
+
//#endregion
|
|
36
|
+
//#region src/functions/parsers/parseIntStrict.ts
|
|
37
|
+
const IntegerParsingError = /* @__PURE__ */ new TypeError("INTEGER_PARSING_ERROR");
|
|
38
|
+
function parseIntStrict(...[string, radix]) {
|
|
39
|
+
const trimmedString = string.trim();
|
|
40
|
+
if (!(radix && radix > 10 && radix <= 36 ? new RegExp(`^[+-]?[0-9a-${String.fromCharCode(87 + radix - 1)}]+$`, "i") : /^[+-]?\d+$/).test(trimmedString)) throw IntegerParsingError;
|
|
41
|
+
if (radix && radix < 10 && [...trimmedString].some((character) => {
|
|
42
|
+
return parseInt(character) >= radix;
|
|
43
|
+
})) throw IntegerParsingError;
|
|
44
|
+
const parseIntResult = parseInt(trimmedString, radix);
|
|
45
|
+
if (isNaN(parseIntResult)) throw IntegerParsingError;
|
|
46
|
+
return parseIntResult;
|
|
47
|
+
}
|
|
48
|
+
var parseIntStrict_default = parseIntStrict;
|
|
49
|
+
|
|
50
|
+
//#endregion
|
|
51
|
+
//#region src/functions/getRandomNumber.ts
|
|
52
|
+
function getRandomNumber(lowerBound, upperBound) {
|
|
53
|
+
const parsedLowerBound = parseIntStrict_default(`${lowerBound}`);
|
|
54
|
+
const parsedUpperBound = parseIntStrict_default(`${upperBound}`);
|
|
55
|
+
return Math.floor(Math.random() * (parsedUpperBound - parsedLowerBound + 1) + parsedLowerBound);
|
|
56
|
+
}
|
|
57
|
+
var getRandomNumber_default = getRandomNumber;
|
|
58
|
+
|
|
59
|
+
//#endregion
|
|
60
|
+
//#region src/functions/arrayHelpers/randomiseArray.ts
|
|
61
|
+
function randomiseArray(array) {
|
|
62
|
+
const mutableArray = [...array];
|
|
63
|
+
const outputArray = [];
|
|
64
|
+
do {
|
|
65
|
+
const indexToRemove = getRandomNumber_default(0, mutableArray.length - 1);
|
|
66
|
+
outputArray.push(mutableArray.splice(indexToRemove, 1)[0]);
|
|
67
|
+
} while (mutableArray.length > 0);
|
|
68
|
+
return outputArray;
|
|
69
|
+
}
|
|
70
|
+
var randomiseArray_default = randomiseArray;
|
|
71
|
+
|
|
72
|
+
//#endregion
|
|
73
|
+
//#region src/functions/arrayHelpers/range.ts
|
|
74
|
+
function range(start, stop, step = 1) {
|
|
75
|
+
const numbers = [];
|
|
76
|
+
if (step === 0) throw new Error("ZERO_STEP_SIZE_NOT_ALLOWED");
|
|
77
|
+
else if (step > 0) {
|
|
78
|
+
if (start > stop) throw new Error("INVALID_BOUNDARIES");
|
|
79
|
+
for (let i = start; i < stop; i += step) numbers.push(i);
|
|
80
|
+
} else if (step < 0) {
|
|
81
|
+
if (start < stop) throw new Error("INVALID_BOUNDARIES");
|
|
82
|
+
for (let i = start; i > stop; i += step) numbers.push(i);
|
|
83
|
+
}
|
|
84
|
+
return numbers;
|
|
85
|
+
}
|
|
86
|
+
var range_default = range;
|
|
87
|
+
|
|
22
88
|
//#endregion
|
|
23
89
|
//#region src/functions/camelToKebab.ts
|
|
24
90
|
function camelToKebab(string) {
|
|
@@ -112,27 +178,23 @@ function createTemplateStringsArray(strings) {
|
|
|
112
178
|
var createTemplateStringsArray_default = createTemplateStringsArray;
|
|
113
179
|
|
|
114
180
|
//#endregion
|
|
115
|
-
//#region src/functions/
|
|
116
|
-
function
|
|
117
|
-
const
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
if (outputArray.some((item) => {
|
|
121
|
-
return item instanceof Promise;
|
|
122
|
-
})) return Promise.all(outputArray);
|
|
123
|
-
return outputArray;
|
|
181
|
+
//#region src/functions/date/addDaysToDate.ts
|
|
182
|
+
function addDaysToDate(currentDate = /* @__PURE__ */ new Date(), dayIncrement = 1) {
|
|
183
|
+
const newDate = currentDate;
|
|
184
|
+
newDate.setDate(newDate.getDate() + dayIncrement);
|
|
185
|
+
return newDate;
|
|
124
186
|
}
|
|
125
|
-
var
|
|
187
|
+
var addDaysToDate_default = addDaysToDate;
|
|
126
188
|
|
|
127
189
|
//#endregion
|
|
128
|
-
//#region src/functions/isSameDate.ts
|
|
190
|
+
//#region src/functions/date/isSameDate.ts
|
|
129
191
|
function isSameDate(firstDate, secondDate) {
|
|
130
192
|
return firstDate.getDate() === secondDate.getDate() && firstDate.getMonth() === secondDate.getMonth() && firstDate.getFullYear() === secondDate.getFullYear();
|
|
131
193
|
}
|
|
132
194
|
var isSameDate_default = isSameDate;
|
|
133
195
|
|
|
134
196
|
//#endregion
|
|
135
|
-
//#region src/functions/formatDateAndTime.ts
|
|
197
|
+
//#region src/functions/date/formatDateAndTime.ts
|
|
136
198
|
function formatDateAndTime(inputDate) {
|
|
137
199
|
const yesterday = addDaysToDate_default(/* @__PURE__ */ new Date(), -1);
|
|
138
200
|
const today = /* @__PURE__ */ new Date();
|
|
@@ -144,38 +206,7 @@ function formatDateAndTime(inputDate) {
|
|
|
144
206
|
var formatDateAndTime_default = formatDateAndTime;
|
|
145
207
|
|
|
146
208
|
//#endregion
|
|
147
|
-
//#region src/functions/
|
|
148
|
-
const IntegerParsingError = /* @__PURE__ */ new TypeError("INTEGER_PARSING_ERROR");
|
|
149
|
-
function parseIntStrict(...[string, radix]) {
|
|
150
|
-
const trimmedString = string.trim();
|
|
151
|
-
if (!(radix && radix > 10 && radix <= 36 ? new RegExp(`^[+-]?[0-9a-${String.fromCharCode(87 + radix - 1)}]+$`, "i") : /^[+-]?\d+$/).test(trimmedString)) throw IntegerParsingError;
|
|
152
|
-
if (radix && radix < 10 && [...trimmedString].some((character) => {
|
|
153
|
-
return parseInt(character) >= radix;
|
|
154
|
-
})) throw IntegerParsingError;
|
|
155
|
-
const parseIntResult = parseInt(trimmedString, radix);
|
|
156
|
-
if (isNaN(parseIntResult)) throw IntegerParsingError;
|
|
157
|
-
return parseIntResult;
|
|
158
|
-
}
|
|
159
|
-
var parseIntStrict_default = parseIntStrict;
|
|
160
|
-
|
|
161
|
-
//#endregion
|
|
162
|
-
//#region src/functions/getRandomNumber.ts
|
|
163
|
-
function getRandomNumber(lowerBound, upperBound) {
|
|
164
|
-
const parsedLowerBound = parseIntStrict_default(`${lowerBound}`);
|
|
165
|
-
const parsedUpperBound = parseIntStrict_default(`${upperBound}`);
|
|
166
|
-
return Math.floor(Math.random() * (parsedUpperBound - parsedLowerBound + 1) + parsedLowerBound);
|
|
167
|
-
}
|
|
168
|
-
var getRandomNumber_default = getRandomNumber;
|
|
169
|
-
|
|
170
|
-
//#endregion
|
|
171
|
-
//#region src/functions/getRecordKeys.ts
|
|
172
|
-
function getRecordKeys(record) {
|
|
173
|
-
return Object.keys(record);
|
|
174
|
-
}
|
|
175
|
-
var getRecordKeys_default = getRecordKeys;
|
|
176
|
-
|
|
177
|
-
//#endregion
|
|
178
|
-
//#region src/functions/isLeapYear.ts
|
|
209
|
+
//#region src/functions/date/isLeapYear.ts
|
|
179
210
|
function isLeapYear(year) {
|
|
180
211
|
const parsedYear = parseIntStrict_default(`${year}`);
|
|
181
212
|
return parsedYear % 4 === 0 && parsedYear % 100 !== 0 || parsedYear % 400 === 0;
|
|
@@ -183,7 +214,19 @@ function isLeapYear(year) {
|
|
|
183
214
|
var isLeapYear_default = isLeapYear;
|
|
184
215
|
|
|
185
216
|
//#endregion
|
|
186
|
-
//#region src/functions/
|
|
217
|
+
//#region src/functions/date/isAnniversary.ts
|
|
218
|
+
function checkLeapYear(firstDate, secondDate) {
|
|
219
|
+
if (isLeapYear_default(firstDate.getFullYear()) && firstDate.getMonth() === 1 && secondDate.getMonth() === 1) return firstDate.getDate() === 29 && secondDate.getDate() === 28;
|
|
220
|
+
return false;
|
|
221
|
+
}
|
|
222
|
+
function isAnniversary(firstDate, secondDate) {
|
|
223
|
+
if (checkLeapYear(firstDate, secondDate) || checkLeapYear(secondDate, firstDate)) return true;
|
|
224
|
+
return firstDate.getDate() === secondDate.getDate() && firstDate.getMonth() === secondDate.getMonth();
|
|
225
|
+
}
|
|
226
|
+
var isAnniversary_default = isAnniversary;
|
|
227
|
+
|
|
228
|
+
//#endregion
|
|
229
|
+
//#region src/functions/date/isMonthlyMultiple.ts
|
|
187
230
|
function endOfMonthChecksButNotFebruary(firstDate, secondDate) {
|
|
188
231
|
if ([
|
|
189
232
|
3,
|
|
@@ -222,6 +265,13 @@ function isMonthlyMultiple(firstDate, secondDate) {
|
|
|
222
265
|
}
|
|
223
266
|
var isMonthlyMultiple_default = isMonthlyMultiple;
|
|
224
267
|
|
|
268
|
+
//#endregion
|
|
269
|
+
//#region src/functions/getRecordKeys.ts
|
|
270
|
+
function getRecordKeys(record) {
|
|
271
|
+
return Object.keys(record);
|
|
272
|
+
}
|
|
273
|
+
var getRecordKeys_default = getRecordKeys;
|
|
274
|
+
|
|
225
275
|
//#endregion
|
|
226
276
|
//#region src/functions/isOrdered.ts
|
|
227
277
|
function isOrdered(array) {
|
|
@@ -284,13 +334,27 @@ function omitProperties(object, keysToOmit) {
|
|
|
284
334
|
var omitProperties_default = omitProperties;
|
|
285
335
|
|
|
286
336
|
//#endregion
|
|
287
|
-
//#region src/functions/
|
|
288
|
-
function
|
|
289
|
-
const
|
|
290
|
-
|
|
291
|
-
return
|
|
337
|
+
//#region src/functions/parsers/parseBoolean.ts
|
|
338
|
+
function parseBoolean(inputString) {
|
|
339
|
+
const normalisedString = inputString.toLowerCase();
|
|
340
|
+
if (normalisedString !== "true" && normalisedString !== "false") throw new TypeError("INVALID_BOOLEAN_STRING");
|
|
341
|
+
return normalisedString === "true";
|
|
292
342
|
}
|
|
293
|
-
|
|
343
|
+
/** @deprecated This function has been renamed to parseBoolean. */
|
|
344
|
+
const stringToBoolean = parseBoolean;
|
|
345
|
+
var parseBoolean_default = parseBoolean;
|
|
346
|
+
|
|
347
|
+
//#endregion
|
|
348
|
+
//#region src/functions/parsers/parseFormData.ts
|
|
349
|
+
function parseFormData(formData, dataParser) {
|
|
350
|
+
const object = {};
|
|
351
|
+
formData.forEach((value, key) => {
|
|
352
|
+
object[key] = value;
|
|
353
|
+
});
|
|
354
|
+
if (dataParser) return dataParser(object);
|
|
355
|
+
return object;
|
|
356
|
+
}
|
|
357
|
+
var parseFormData_default = parseFormData;
|
|
294
358
|
|
|
295
359
|
//#endregion
|
|
296
360
|
//#region src/types/APIError.ts
|
|
@@ -373,7 +437,7 @@ function parseUUID(UUID) {
|
|
|
373
437
|
var UUID_default = parseUUID;
|
|
374
438
|
|
|
375
439
|
//#endregion
|
|
376
|
-
//#region src/functions/parseZodSchema.ts
|
|
440
|
+
//#region src/functions/parsers/parseZodSchema.ts
|
|
377
441
|
function parseZodSchema(schema, data) {
|
|
378
442
|
const parsedResult = schema.safeParse(data);
|
|
379
443
|
if (!parsedResult.success) throw new DataError_default(data);
|
|
@@ -381,35 +445,6 @@ function parseZodSchema(schema, data) {
|
|
|
381
445
|
}
|
|
382
446
|
var parseZodSchema_default = parseZodSchema;
|
|
383
447
|
|
|
384
|
-
//#endregion
|
|
385
|
-
//#region src/functions/randomiseArray.ts
|
|
386
|
-
function randomiseArray(array) {
|
|
387
|
-
const mutableArray = [...array];
|
|
388
|
-
const outputArray = [];
|
|
389
|
-
do {
|
|
390
|
-
const indexToRemove = getRandomNumber_default(0, mutableArray.length - 1);
|
|
391
|
-
outputArray.push(mutableArray.splice(indexToRemove, 1)[0]);
|
|
392
|
-
} while (mutableArray.length > 0);
|
|
393
|
-
return outputArray;
|
|
394
|
-
}
|
|
395
|
-
var randomiseArray_default = randomiseArray;
|
|
396
|
-
|
|
397
|
-
//#endregion
|
|
398
|
-
//#region src/functions/range.ts
|
|
399
|
-
function range(start, stop, step = 1) {
|
|
400
|
-
const numbers = [];
|
|
401
|
-
if (step === 0) throw new Error("ZERO_STEP_SIZE_NOT_ALLOWED");
|
|
402
|
-
else if (step > 0) {
|
|
403
|
-
if (start > stop) throw new Error("INVALID_BOUNDARIES");
|
|
404
|
-
for (let i = start; i < stop; i += step) numbers.push(i);
|
|
405
|
-
} else if (step < 0) {
|
|
406
|
-
if (start < stop) throw new Error("INVALID_BOUNDARIES");
|
|
407
|
-
for (let i = start; i > stop; i += step) numbers.push(i);
|
|
408
|
-
}
|
|
409
|
-
return numbers;
|
|
410
|
-
}
|
|
411
|
-
var range_default = range;
|
|
412
|
-
|
|
413
448
|
//#endregion
|
|
414
449
|
//#region src/functions/removeDuplicates.ts
|
|
415
450
|
function removeDuplicates(array) {
|
|
@@ -430,33 +465,6 @@ function stringListToArray(stringList, { separator = ",", trimWhitespace = true
|
|
|
430
465
|
}
|
|
431
466
|
var stringListToArray_default = stringListToArray;
|
|
432
467
|
|
|
433
|
-
//#endregion
|
|
434
|
-
//#region src/functions/stringToBoolean.ts
|
|
435
|
-
function stringToBoolean(inputString) {
|
|
436
|
-
const normalisedString = inputString.toLowerCase();
|
|
437
|
-
if (normalisedString !== "true" && normalisedString !== "false") throw new TypeError("INVALID_BOOLEAN_STRING");
|
|
438
|
-
return normalisedString === "true";
|
|
439
|
-
}
|
|
440
|
-
var stringToBoolean_default = stringToBoolean;
|
|
441
|
-
|
|
442
|
-
//#endregion
|
|
443
|
-
//#region src/functions/truncate.ts
|
|
444
|
-
function truncate(stringToTruncate, maxLength = 5) {
|
|
445
|
-
return stringToTruncate.length > maxLength ? `${stringToTruncate.slice(0, maxLength)}...` : stringToTruncate;
|
|
446
|
-
}
|
|
447
|
-
var truncate_default = truncate;
|
|
448
|
-
|
|
449
|
-
//#endregion
|
|
450
|
-
//#region src/functions/wait.ts
|
|
451
|
-
function wait(seconds) {
|
|
452
|
-
return new Promise((resolve, _) => {
|
|
453
|
-
setTimeout(() => {
|
|
454
|
-
resolve();
|
|
455
|
-
}, seconds * 1e3);
|
|
456
|
-
});
|
|
457
|
-
}
|
|
458
|
-
var wait_default = wait;
|
|
459
|
-
|
|
460
468
|
//#endregion
|
|
461
469
|
//#region src/functions/taggedTemplate/interpolate.ts
|
|
462
470
|
function interpolate(strings, ...interpolations) {
|
|
@@ -518,4 +526,22 @@ function removeIndents(first, ...args) {
|
|
|
518
526
|
var removeIndents_default = removeIndents;
|
|
519
527
|
|
|
520
528
|
//#endregion
|
|
521
|
-
|
|
529
|
+
//#region src/functions/truncate.ts
|
|
530
|
+
function truncate(stringToTruncate, maxLength = 5) {
|
|
531
|
+
return stringToTruncate.length > maxLength ? `${stringToTruncate.slice(0, maxLength)}...` : stringToTruncate;
|
|
532
|
+
}
|
|
533
|
+
var truncate_default = truncate;
|
|
534
|
+
|
|
535
|
+
//#endregion
|
|
536
|
+
//#region src/functions/wait.ts
|
|
537
|
+
function wait(seconds) {
|
|
538
|
+
return new Promise((resolve, _) => {
|
|
539
|
+
setTimeout(() => {
|
|
540
|
+
resolve();
|
|
541
|
+
}, seconds * 1e3);
|
|
542
|
+
});
|
|
543
|
+
}
|
|
544
|
+
var wait_default = wait;
|
|
545
|
+
|
|
546
|
+
//#endregion
|
|
547
|
+
export { APIError_default as APIError, DataError_default as DataError, addDaysToDate_default as addDaysToDate, appendSemicolon_default as appendSemicolon, camelToKebab_default as camelToKebab, convertFileToBase64_default as convertFileToBase64, createFormData_default as createFormData, createTemplateStringsArray_default as createTemplateStringsArray, fillArray_default as fillArray, formatDateAndTime_default as formatDateAndTime, getRandomNumber_default as getRandomNumber, getRecordKeys_default as getRecordKeys, httpErrorCodeLookup, interpolate_default as interpolate, interpolateObjects_default as interpolateObjects, isAnniversary_default as isAnniversary, isLeapYear_default as isLeapYear, isMonthlyMultiple_default as isMonthlyMultiple, isOrdered_default as isOrdered, isSameDate_default as isSameDate, kebabToCamel_default as kebabToCamel, normaliseImportPath, normalizeImportPath_default as normalizeImportPath, omitProperties_default as omitProperties, paralleliseArrays_default as paralleliseArrays, parseBoolean_default as parseBoolean, Email_default as parseEmail, Env_default as parseEnv, parseFormData_default as parseFormData, parseIntStrict_default as parseIntStrict, UUID_default as parseUUID, parseZodSchema_default as parseZodSchema, randomiseArray_default as randomiseArray, range_default as range, removeDuplicates_default as removeDuplicates, removeIndents_default as removeIndents, stringListToArray_default as stringListToArray, stringToBoolean, truncate_default as truncate, wait_default as wait };
|