@alextheman/utility 3.3.2 → 3.4.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 CHANGED
@@ -299,6 +299,24 @@ function isMonthlyMultiple(firstDate, secondDate) {
299
299
  }
300
300
  var isMonthlyMultiple_default = isMonthlyMultiple;
301
301
 
302
+ //#endregion
303
+ //#region src/functions/deepCopy.ts
304
+ function callDeepCopy(input) {
305
+ return typeof input === "object" && input !== null ? deepCopy(input) : input;
306
+ }
307
+ function deepCopy(object) {
308
+ if (Array.isArray(object)) return object.map((item) => {
309
+ return callDeepCopy(item);
310
+ });
311
+ const clonedObject = { ...object };
312
+ for (const key in clonedObject) {
313
+ const value = clonedObject[key];
314
+ clonedObject[key] = callDeepCopy(value);
315
+ }
316
+ return clonedObject;
317
+ }
318
+ var deepCopy_default = deepCopy;
319
+
302
320
  //#endregion
303
321
  //#region src/functions/deepFreeze.ts
304
322
  function deepFreeze(object) {
@@ -635,6 +653,7 @@ exports.camelToKebab = camelToKebab_default;
635
653
  exports.convertFileToBase64 = convertFileToBase64_default;
636
654
  exports.createFormData = createFormData_default;
637
655
  exports.createTemplateStringsArray = createTemplateStringsArray_default;
656
+ exports.deepCopy = deepCopy_default;
638
657
  exports.deepFreeze = deepFreeze_default;
639
658
  exports.fillArray = fillArray_default;
640
659
  exports.formatDateAndTime = formatDateAndTime_default;
package/dist/index.d.cts CHANGED
@@ -121,6 +121,9 @@ declare function isMonthlyMultiple(firstDate: Date, secondDate: Date): boolean;
121
121
  //#region src/functions/date/isSameDate.d.ts
122
122
  declare function isSameDate(firstDate: Date, secondDate: Date): boolean;
123
123
  //#endregion
124
+ //#region src/functions/deepCopy.d.ts
125
+ declare function deepCopy<T extends object>(object: T): T;
126
+ //#endregion
124
127
  //#region src/functions/deepFreeze.d.ts
125
128
  declare function deepFreeze<T extends object>(object: T): Readonly<T>;
126
129
  //#endregion
@@ -207,4 +210,4 @@ declare function truncate(stringToTruncate: string, maxLength?: number): string;
207
210
  //#region src/functions/wait.d.ts
208
211
  declare function wait(seconds: number): Promise<void>;
209
212
  //#endregion
210
- export { APIError, CreateFormDataOptions, CreateFormDataOptionsNullableResolution, CreateFormDataOptionsUndefinedOrNullResolution, DataError, DisallowUndefined, Email, Env, FormDataArrayResolutionStrategy, FormDataNullableResolutionStrategy, HTTPErrorCode, IgnoreCase, KebabToCamelOptions, NAMESPACE_EXPORT_REGEX, NonUndefined, NormaliseIndentsFunction, NormaliseIndentsOptions, NormalizeIndentsFunction, NormalizeIndentsOptions, OptionalOnCondition, RecordKey, RemoveIndentsFunction, RemoveIndentsOptions, StringListToArrayOptions, UUID, addDaysToDate, appendSemicolon, camelToKebab, convertFileToBase64, createFormData, createTemplateStringsArray, deepFreeze, fillArray, formatDateAndTime, getRandomNumber, getRecordKeys, httpErrorCodeLookup, interpolate, interpolateObjects, isAnniversary, isLeapYear, isMonthlyMultiple, isOrdered, isSameDate, kebabToCamel, normaliseImportPath, normaliseIndents, normalizeImportPath, normalizeIndents, omitProperties, paralleliseArrays, parseBoolean, parseEmail, parseEnv, parseFormData, parseIntStrict, parseUUID, parseZodSchema, randomiseArray, range, removeDuplicates, removeIndents, stringListToArray, stringToBoolean, truncate, wait };
213
+ export { APIError, CreateFormDataOptions, CreateFormDataOptionsNullableResolution, CreateFormDataOptionsUndefinedOrNullResolution, DataError, DisallowUndefined, Email, Env, FormDataArrayResolutionStrategy, FormDataNullableResolutionStrategy, HTTPErrorCode, IgnoreCase, KebabToCamelOptions, NAMESPACE_EXPORT_REGEX, NonUndefined, NormaliseIndentsFunction, NormaliseIndentsOptions, NormalizeIndentsFunction, NormalizeIndentsOptions, OptionalOnCondition, RecordKey, RemoveIndentsFunction, RemoveIndentsOptions, StringListToArrayOptions, UUID, addDaysToDate, appendSemicolon, camelToKebab, convertFileToBase64, createFormData, createTemplateStringsArray, deepCopy, deepFreeze, fillArray, formatDateAndTime, getRandomNumber, getRecordKeys, httpErrorCodeLookup, interpolate, interpolateObjects, isAnniversary, isLeapYear, isMonthlyMultiple, isOrdered, isSameDate, kebabToCamel, normaliseImportPath, normaliseIndents, normalizeImportPath, normalizeIndents, omitProperties, paralleliseArrays, parseBoolean, parseEmail, parseEnv, parseFormData, parseIntStrict, parseUUID, parseZodSchema, randomiseArray, range, removeDuplicates, removeIndents, stringListToArray, stringToBoolean, truncate, wait };
package/dist/index.d.ts CHANGED
@@ -121,6 +121,9 @@ declare function isMonthlyMultiple(firstDate: Date, secondDate: Date): boolean;
121
121
  //#region src/functions/date/isSameDate.d.ts
122
122
  declare function isSameDate(firstDate: Date, secondDate: Date): boolean;
123
123
  //#endregion
124
+ //#region src/functions/deepCopy.d.ts
125
+ declare function deepCopy<T extends object>(object: T): T;
126
+ //#endregion
124
127
  //#region src/functions/deepFreeze.d.ts
125
128
  declare function deepFreeze<T extends object>(object: T): Readonly<T>;
126
129
  //#endregion
@@ -207,4 +210,4 @@ declare function truncate(stringToTruncate: string, maxLength?: number): string;
207
210
  //#region src/functions/wait.d.ts
208
211
  declare function wait(seconds: number): Promise<void>;
209
212
  //#endregion
210
- export { APIError, type CreateFormDataOptions, type CreateFormDataOptionsNullableResolution, type CreateFormDataOptionsUndefinedOrNullResolution, DataError, type DisallowUndefined, type Email, type Env, type FormDataArrayResolutionStrategy, type FormDataNullableResolutionStrategy, type HTTPErrorCode, type IgnoreCase, type KebabToCamelOptions, NAMESPACE_EXPORT_REGEX, type NonUndefined, NormaliseIndentsFunction, NormaliseIndentsOptions, NormalizeIndentsFunction, NormalizeIndentsOptions, type OptionalOnCondition, type RecordKey, RemoveIndentsFunction, RemoveIndentsOptions, type StringListToArrayOptions, type UUID, addDaysToDate, appendSemicolon, camelToKebab, convertFileToBase64, createFormData, createTemplateStringsArray, deepFreeze, fillArray, formatDateAndTime, getRandomNumber, getRecordKeys, httpErrorCodeLookup, interpolate, interpolateObjects, isAnniversary, isLeapYear, isMonthlyMultiple, isOrdered, isSameDate, kebabToCamel, normaliseImportPath, normaliseIndents, normalizeImportPath, normalizeIndents, omitProperties, paralleliseArrays, parseBoolean, parseEmail, parseEnv, parseFormData, parseIntStrict, parseUUID, parseZodSchema, randomiseArray, range, removeDuplicates, removeIndents, stringListToArray, stringToBoolean, truncate, wait };
213
+ export { APIError, type CreateFormDataOptions, type CreateFormDataOptionsNullableResolution, type CreateFormDataOptionsUndefinedOrNullResolution, DataError, type DisallowUndefined, type Email, type Env, type FormDataArrayResolutionStrategy, type FormDataNullableResolutionStrategy, type HTTPErrorCode, type IgnoreCase, type KebabToCamelOptions, NAMESPACE_EXPORT_REGEX, type NonUndefined, NormaliseIndentsFunction, NormaliseIndentsOptions, NormalizeIndentsFunction, NormalizeIndentsOptions, type OptionalOnCondition, type RecordKey, RemoveIndentsFunction, RemoveIndentsOptions, type StringListToArrayOptions, type UUID, addDaysToDate, appendSemicolon, camelToKebab, convertFileToBase64, createFormData, createTemplateStringsArray, deepCopy, deepFreeze, fillArray, formatDateAndTime, getRandomNumber, getRecordKeys, httpErrorCodeLookup, interpolate, interpolateObjects, isAnniversary, isLeapYear, isMonthlyMultiple, isOrdered, isSameDate, kebabToCamel, normaliseImportPath, normaliseIndents, normalizeImportPath, normalizeIndents, omitProperties, paralleliseArrays, parseBoolean, parseEmail, parseEnv, parseFormData, parseIntStrict, parseUUID, parseZodSchema, randomiseArray, range, removeDuplicates, removeIndents, stringListToArray, stringToBoolean, truncate, wait };
package/dist/index.js CHANGED
@@ -270,6 +270,24 @@ function isMonthlyMultiple(firstDate, secondDate) {
270
270
  }
271
271
  var isMonthlyMultiple_default = isMonthlyMultiple;
272
272
 
273
+ //#endregion
274
+ //#region src/functions/deepCopy.ts
275
+ function callDeepCopy(input) {
276
+ return typeof input === "object" && input !== null ? deepCopy(input) : input;
277
+ }
278
+ function deepCopy(object) {
279
+ if (Array.isArray(object)) return object.map((item) => {
280
+ return callDeepCopy(item);
281
+ });
282
+ const clonedObject = { ...object };
283
+ for (const key in clonedObject) {
284
+ const value = clonedObject[key];
285
+ clonedObject[key] = callDeepCopy(value);
286
+ }
287
+ return clonedObject;
288
+ }
289
+ var deepCopy_default = deepCopy;
290
+
273
291
  //#endregion
274
292
  //#region src/functions/deepFreeze.ts
275
293
  function deepFreeze(object) {
@@ -597,4 +615,4 @@ function wait(seconds) {
597
615
  var wait_default = wait;
598
616
 
599
617
  //#endregion
600
- export { APIError_default as APIError, DataError_default as DataError, NAMESPACE_EXPORT_REGEX_default as NAMESPACE_EXPORT_REGEX, addDaysToDate_default as addDaysToDate, appendSemicolon_default as appendSemicolon, camelToKebab_default as camelToKebab, convertFileToBase64_default as convertFileToBase64, createFormData_default as createFormData, createTemplateStringsArray_default as createTemplateStringsArray, deepFreeze_default as deepFreeze, 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, normaliseIndents_default as normaliseIndents, normalizeImportPath_default as normalizeImportPath, normalizeIndents, 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 };
618
+ export { APIError_default as APIError, DataError_default as DataError, NAMESPACE_EXPORT_REGEX_default as NAMESPACE_EXPORT_REGEX, addDaysToDate_default as addDaysToDate, appendSemicolon_default as appendSemicolon, camelToKebab_default as camelToKebab, convertFileToBase64_default as convertFileToBase64, createFormData_default as createFormData, createTemplateStringsArray_default as createTemplateStringsArray, deepCopy_default as deepCopy, deepFreeze_default as deepFreeze, 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, normaliseIndents_default as normaliseIndents, normalizeImportPath_default as normalizeImportPath, normalizeIndents, 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 };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@alextheman/utility",
3
- "version": "3.3.2",
3
+ "version": "3.4.0",
4
4
  "description": "Helpful utility functions",
5
5
  "repository": {
6
6
  "type": "git",
@@ -43,13 +43,13 @@
43
43
  "zod": "^4.1.13"
44
44
  },
45
45
  "devDependencies": {
46
- "@alextheman/eslint-plugin": "^4.2.2",
46
+ "@alextheman/eslint-plugin": "^4.2.3",
47
47
  "@types/node": "^24.10.1",
48
48
  "eslint": "^9.39.1",
49
49
  "globals": "^16.5.0",
50
50
  "husky": "^9.1.7",
51
51
  "jsdom": "^27.2.0",
52
- "prettier": "^3.7.1",
52
+ "prettier": "^3.7.2",
53
53
  "tsdown": "^0.16.8",
54
54
  "typescript": "^5.9.3",
55
55
  "vite-tsconfig-paths": "^5.1.4",