@alextheman/utility 2.15.0 → 2.15.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.
- package/dist/index.cjs +37 -0
- package/dist/index.d.cts +6 -1
- package/dist/index.d.ts +6 -1
- package/dist/index.js +36 -0
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -61,6 +61,7 @@ __export(index_exports, {
|
|
|
61
61
|
isMonthlyMultiple: () => isMonthlyMultiple_default,
|
|
62
62
|
isOrdered: () => isOrdered_default,
|
|
63
63
|
isSameDate: () => isSameDate_default,
|
|
64
|
+
kebabToCamel: () => kebabToCamel_default,
|
|
64
65
|
omitProperties: () => omitProperties_default,
|
|
65
66
|
parseEmail: () => Email_default,
|
|
66
67
|
parseEnv: () => Env_default,
|
|
@@ -343,6 +344,41 @@ function isOrdered(array) {
|
|
|
343
344
|
}
|
|
344
345
|
var isOrdered_default = isOrdered;
|
|
345
346
|
|
|
347
|
+
// src/functions/kebabToCamel.ts
|
|
348
|
+
function kebabToCamel(string, options) {
|
|
349
|
+
if (string !== string.toLowerCase()) {
|
|
350
|
+
throw new Error("INVALID_KEBAB_CASE_INPUT");
|
|
351
|
+
}
|
|
352
|
+
if (string.startsWith("-") || string.endsWith("-") || string.includes("--")) {
|
|
353
|
+
throw new Error("INVALID_KEBAB_CASE_INPUT");
|
|
354
|
+
}
|
|
355
|
+
let outputString = "";
|
|
356
|
+
let skip = false;
|
|
357
|
+
for (const stringIndex in [...string]) {
|
|
358
|
+
if (skip) {
|
|
359
|
+
skip = false;
|
|
360
|
+
continue;
|
|
361
|
+
}
|
|
362
|
+
const index = parseIntStrict_default(stringIndex);
|
|
363
|
+
if (index === 0 && (options == null ? void 0 : options.startWithUpper)) {
|
|
364
|
+
outputString += string[index].toUpperCase();
|
|
365
|
+
continue;
|
|
366
|
+
}
|
|
367
|
+
if (index === string.length - 1) {
|
|
368
|
+
outputString += string[index];
|
|
369
|
+
break;
|
|
370
|
+
}
|
|
371
|
+
if (string[index] === "-" && /^[a-zA-Z]+$/.test(string[index + 1])) {
|
|
372
|
+
outputString += string[index + 1].toUpperCase();
|
|
373
|
+
skip = true;
|
|
374
|
+
} else {
|
|
375
|
+
outputString += string[index];
|
|
376
|
+
}
|
|
377
|
+
}
|
|
378
|
+
return outputString;
|
|
379
|
+
}
|
|
380
|
+
var kebabToCamel_default = kebabToCamel;
|
|
381
|
+
|
|
346
382
|
// src/functions/omitProperties.ts
|
|
347
383
|
function omitProperties(object, keysToOmit) {
|
|
348
384
|
const outputObject = __spreadValues({}, object);
|
|
@@ -526,6 +562,7 @@ var UUID_default = parseUUID;
|
|
|
526
562
|
isMonthlyMultiple,
|
|
527
563
|
isOrdered,
|
|
528
564
|
isSameDate,
|
|
565
|
+
kebabToCamel,
|
|
529
566
|
omitProperties,
|
|
530
567
|
parseEmail,
|
|
531
568
|
parseEnv,
|
package/dist/index.d.cts
CHANGED
|
@@ -79,6 +79,11 @@ declare function isOrdered(array: readonly number[] | number[]): boolean;
|
|
|
79
79
|
|
|
80
80
|
declare function isSameDate(firstDate: Date, secondDate: Date): boolean;
|
|
81
81
|
|
|
82
|
+
interface KebabToCamelOptions {
|
|
83
|
+
startWithUpper?: boolean;
|
|
84
|
+
}
|
|
85
|
+
declare function kebabToCamel(string: string, options?: KebabToCamelOptions): string;
|
|
86
|
+
|
|
82
87
|
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>;
|
|
83
88
|
|
|
84
89
|
declare function parseIntStrict(...[string, radix]: Parameters<typeof parseInt>): number;
|
|
@@ -103,4 +108,4 @@ declare function wait(seconds: number): Promise<void>;
|
|
|
103
108
|
|
|
104
109
|
declare function interpolateObjects(strings: TemplateStringsArray, ...values: unknown[]): string;
|
|
105
110
|
|
|
106
|
-
export { APIError, type CreateFormDataOptions, type CreateFormDataOptionsNullableResolution, type CreateFormDataOptionsUndefinedOrNullResolution, type DisallowUndefined, type Email, type Env, type FormDataNullableResolutionStrategy as FormDataResolutionStrategy, type HTTPErrorCode, type HTTPErrorCodes, type IgnoreCase, type NonUndefined, type OptionalOnCondition, type RecordKey, type StringListToArrayOptions, type UUID, addDaysToDate, appendSemicolon, camelToKebab, convertFileToBase64, createFormData, fillArray, formatDateAndTime, getRandomNumber, getRecordKeys, httpErrorCodeLookup, interpolateObjects, isLeapYear, isMonthlyMultiple, isOrdered, isSameDate, omitProperties, parseEmail, parseEnv, parseIntStrict, parseUUID, randomiseArray, range, removeDuplicates, stringListToArray, stringToBoolean, truncate, wait };
|
|
111
|
+
export { APIError, type CreateFormDataOptions, type CreateFormDataOptionsNullableResolution, type CreateFormDataOptionsUndefinedOrNullResolution, type DisallowUndefined, type Email, type Env, type FormDataNullableResolutionStrategy as FormDataResolutionStrategy, type HTTPErrorCode, type HTTPErrorCodes, type IgnoreCase, type KebabToCamelOptions, type NonUndefined, type OptionalOnCondition, type RecordKey, type StringListToArrayOptions, type UUID, addDaysToDate, appendSemicolon, camelToKebab, convertFileToBase64, createFormData, fillArray, formatDateAndTime, getRandomNumber, getRecordKeys, httpErrorCodeLookup, interpolateObjects, isLeapYear, isMonthlyMultiple, isOrdered, isSameDate, kebabToCamel, omitProperties, parseEmail, parseEnv, parseIntStrict, parseUUID, randomiseArray, range, removeDuplicates, stringListToArray, stringToBoolean, truncate, wait };
|
package/dist/index.d.ts
CHANGED
|
@@ -79,6 +79,11 @@ declare function isOrdered(array: readonly number[] | number[]): boolean;
|
|
|
79
79
|
|
|
80
80
|
declare function isSameDate(firstDate: Date, secondDate: Date): boolean;
|
|
81
81
|
|
|
82
|
+
interface KebabToCamelOptions {
|
|
83
|
+
startWithUpper?: boolean;
|
|
84
|
+
}
|
|
85
|
+
declare function kebabToCamel(string: string, options?: KebabToCamelOptions): string;
|
|
86
|
+
|
|
82
87
|
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>;
|
|
83
88
|
|
|
84
89
|
declare function parseIntStrict(...[string, radix]: Parameters<typeof parseInt>): number;
|
|
@@ -103,4 +108,4 @@ declare function wait(seconds: number): Promise<void>;
|
|
|
103
108
|
|
|
104
109
|
declare function interpolateObjects(strings: TemplateStringsArray, ...values: unknown[]): string;
|
|
105
110
|
|
|
106
|
-
export { APIError, type CreateFormDataOptions, type CreateFormDataOptionsNullableResolution, type CreateFormDataOptionsUndefinedOrNullResolution, type DisallowUndefined, type Email, type Env, type FormDataNullableResolutionStrategy as FormDataResolutionStrategy, type HTTPErrorCode, type HTTPErrorCodes, type IgnoreCase, type NonUndefined, type OptionalOnCondition, type RecordKey, type StringListToArrayOptions, type UUID, addDaysToDate, appendSemicolon, camelToKebab, convertFileToBase64, createFormData, fillArray, formatDateAndTime, getRandomNumber, getRecordKeys, httpErrorCodeLookup, interpolateObjects, isLeapYear, isMonthlyMultiple, isOrdered, isSameDate, omitProperties, parseEmail, parseEnv, parseIntStrict, parseUUID, randomiseArray, range, removeDuplicates, stringListToArray, stringToBoolean, truncate, wait };
|
|
111
|
+
export { APIError, type CreateFormDataOptions, type CreateFormDataOptionsNullableResolution, type CreateFormDataOptionsUndefinedOrNullResolution, type DisallowUndefined, type Email, type Env, type FormDataNullableResolutionStrategy as FormDataResolutionStrategy, type HTTPErrorCode, type HTTPErrorCodes, type IgnoreCase, type KebabToCamelOptions, type NonUndefined, type OptionalOnCondition, type RecordKey, type StringListToArrayOptions, type UUID, addDaysToDate, appendSemicolon, camelToKebab, convertFileToBase64, createFormData, fillArray, formatDateAndTime, getRandomNumber, getRecordKeys, httpErrorCodeLookup, interpolateObjects, isLeapYear, isMonthlyMultiple, isOrdered, isSameDate, kebabToCamel, omitProperties, parseEmail, parseEnv, parseIntStrict, parseUUID, randomiseArray, range, removeDuplicates, stringListToArray, stringToBoolean, truncate, wait };
|
package/dist/index.js
CHANGED
|
@@ -283,6 +283,41 @@ function isOrdered(array) {
|
|
|
283
283
|
}
|
|
284
284
|
var isOrdered_default = isOrdered;
|
|
285
285
|
|
|
286
|
+
// src/functions/kebabToCamel.ts
|
|
287
|
+
function kebabToCamel(string, options) {
|
|
288
|
+
if (string !== string.toLowerCase()) {
|
|
289
|
+
throw new Error("INVALID_KEBAB_CASE_INPUT");
|
|
290
|
+
}
|
|
291
|
+
if (string.startsWith("-") || string.endsWith("-") || string.includes("--")) {
|
|
292
|
+
throw new Error("INVALID_KEBAB_CASE_INPUT");
|
|
293
|
+
}
|
|
294
|
+
let outputString = "";
|
|
295
|
+
let skip = false;
|
|
296
|
+
for (const stringIndex in [...string]) {
|
|
297
|
+
if (skip) {
|
|
298
|
+
skip = false;
|
|
299
|
+
continue;
|
|
300
|
+
}
|
|
301
|
+
const index = parseIntStrict_default(stringIndex);
|
|
302
|
+
if (index === 0 && (options == null ? void 0 : options.startWithUpper)) {
|
|
303
|
+
outputString += string[index].toUpperCase();
|
|
304
|
+
continue;
|
|
305
|
+
}
|
|
306
|
+
if (index === string.length - 1) {
|
|
307
|
+
outputString += string[index];
|
|
308
|
+
break;
|
|
309
|
+
}
|
|
310
|
+
if (string[index] === "-" && /^[a-zA-Z]+$/.test(string[index + 1])) {
|
|
311
|
+
outputString += string[index + 1].toUpperCase();
|
|
312
|
+
skip = true;
|
|
313
|
+
} else {
|
|
314
|
+
outputString += string[index];
|
|
315
|
+
}
|
|
316
|
+
}
|
|
317
|
+
return outputString;
|
|
318
|
+
}
|
|
319
|
+
var kebabToCamel_default = kebabToCamel;
|
|
320
|
+
|
|
286
321
|
// src/functions/omitProperties.ts
|
|
287
322
|
function omitProperties(object, keysToOmit) {
|
|
288
323
|
const outputObject = __spreadValues({}, object);
|
|
@@ -465,6 +500,7 @@ export {
|
|
|
465
500
|
isMonthlyMultiple_default as isMonthlyMultiple,
|
|
466
501
|
isOrdered_default as isOrdered,
|
|
467
502
|
isSameDate_default as isSameDate,
|
|
503
|
+
kebabToCamel_default as kebabToCamel,
|
|
468
504
|
omitProperties_default as omitProperties,
|
|
469
505
|
Email_default as parseEmail,
|
|
470
506
|
Env_default as parseEnv,
|