nhb-toolbox 2.4.3 → 2.4.4

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.
@@ -1,4 +1,4 @@
1
- import type { GenericObject } from '../object/types';
1
+ import type { GenericObjectAny } from '../object/types';
2
2
  import type { Flattened } from './types';
3
3
  /**
4
4
  * * Flattens a nested array recursively or wraps any non-array data type in an array.
@@ -18,7 +18,7 @@ export declare const flattenArray: <T>(input: T | T[]) => Flattened<T>[];
18
18
  * @returns The filtered array of objects.
19
19
  * @throws {Error} If the input is not a valid array.
20
20
  */
21
- export declare const filterArrayOfObjects: <T extends GenericObject>(array: T[], conditions: { [K in keyof T]?: (value: T[K] | undefined) => boolean; }) => T[];
21
+ export declare const filterArrayOfObjects: <T extends GenericObjectAny>(array: T[], conditions: { [K in keyof T]?: (value: T[K] | undefined) => boolean; }) => T[];
22
22
  /**
23
23
  * * Checks if a value is an empty array or an array with only empty values.
24
24
  *
@@ -1 +1 @@
1
- {"version":3,"file":"basics.d.ts","sourceRoot":"","sources":["../../src/array/basics.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEzC;;;;;;GAMG;AACH,eAAO,MAAM,YAAY,GAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,KAAG,SAAS,CAAC,CAAC,CAAC,EAO5D,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,oBAAoB,GAAI,CAAC,SAAS,aAAa,SACpD,CAAC,EAAE,cACE,GAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,KAAK,OAAO,GAAE,KACnE,CAAC,EAeH,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,GAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,KAAG,OAWrD,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,YAAY,GAAI,CAAC,SAAS,CAAC,EAAE,KAAG,CAAC,EAW7C,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,GAAI,CAAC,SAAS,CAAC,EAAE,KAAG,CAAC,GAAG,SAEvD,CAAC"}
1
+ {"version":3,"file":"basics.d.ts","sourceRoot":"","sources":["../../src/array/basics.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEzC;;;;;;GAMG;AACH,eAAO,MAAM,YAAY,GAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,KAAG,SAAS,CAAC,CAAC,CAAC,EAO5D,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,oBAAoB,GAAI,CAAC,SAAS,gBAAgB,SACvD,CAAC,EAAE,cACE,GAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,KAAK,OAAO,GAAE,KACnE,CAAC,EAeH,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,GAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,KAAG,OAWrD,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,YAAY,GAAI,CAAC,SAAS,CAAC,EAAE,KAAG,CAAC,EAW7C,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,GAAI,CAAC,SAAS,CAAC,EAAE,KAAG,CAAC,GAAG,SAEvD,CAAC"}
@@ -1,4 +1,5 @@
1
- import type { InputObject, OrderOption, SortOptions } from './types';
1
+ import type { GenericObjectAny } from '../object/types';
2
+ import type { OrderOption, SortOptions } from './types';
2
3
  /**
3
4
  * * Sorts an array of strings.
4
5
  *
@@ -33,5 +34,5 @@ export declare function sortAnArray(array: boolean[], options?: OrderOption): bo
33
34
  * @param options - Sorting options.
34
35
  * @returns The sorted array.
35
36
  */
36
- export declare function sortAnArray<T extends InputObject>(array: T[], options: SortOptions<T>): T[];
37
+ export declare function sortAnArray<T extends GenericObjectAny>(array: T[], options: SortOptions<T>): T[];
37
38
  //# sourceMappingURL=sort.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sort.d.ts","sourceRoot":"","sources":["../../src/array/sort.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAErE;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,MAAM,EAAE,CAAC;AAE9E;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,MAAM,EAAE,CAAC;AAE9E;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,EAAE,CAAC;AAEhF;;;;;;;;;GASG;AACH,wBAAgB,WAAW,CAAC,CAAC,SAAS,WAAW,EAChD,KAAK,EAAE,CAAC,EAAE,EACV,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC,GACrB,CAAC,EAAE,CAAC"}
1
+ {"version":3,"file":"sort.d.ts","sourceRoot":"","sources":["../../src/array/sort.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAExD;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,MAAM,EAAE,CAAC;AAE9E;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,MAAM,EAAE,CAAC;AAE9E;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,EAAE,CAAC;AAEhF;;;;;;;;;GASG;AACH,wBAAgB,WAAW,CAAC,CAAC,SAAS,gBAAgB,EACrD,KAAK,EAAE,CAAC,EAAE,EACV,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC,GACrB,CAAC,EAAE,CAAC"}
@@ -1,4 +1,5 @@
1
- import type { OptionInput, OptionsConfig } from './types';
1
+ import type { GenericObjectAny } from '../object/types';
2
+ import type { OptionsConfig } from './types';
2
3
  /**
3
4
  * * Converts an array of objects into a formatted array of options.
4
5
  *
@@ -7,7 +8,7 @@ import type { OptionInput, OptionsConfig } from './types';
7
8
  * @param config - The configuration object to specify the keys for the `value` (firstFieldName) and `label` (secondFieldName) fields and rename as needed.
8
9
  * @returns An array of options, where each option has `value` and `label` fields as default or as specified by user in the config options.
9
10
  */
10
- export declare const createOptionsArray: <T extends OptionInput, K1 extends string = "value", K2 extends string = "label">(data: T[], config: OptionsConfig<T, K1, K2>) => { [P in K1 | K2]: string; }[];
11
+ export declare const createOptionsArray: <T extends GenericObjectAny, K1 extends string = "value", K2 extends string = "label">(data: T[], config: OptionsConfig<T, K1, K2>) => { [P in K1 | K2]: string; }[];
11
12
  /**
12
13
  * * Removes duplicate values from an array, supporting deep comparison for objects and arrays.
13
14
  *
@@ -1 +1 @@
1
- {"version":3,"file":"transform.d.ts","sourceRoot":"","sources":["../../src/array/transform.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAE1D;;;;;;;GAOG;AACH,eAAO,MAAM,kBAAkB,GAC9B,CAAC,SAAS,WAAW,EACrB,EAAE,SAAS,MAAM,YACjB,EAAE,SAAS,MAAM,kBAEX,CAAC,EAAE,UACD,aAAa,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,KAC9B,GAAG,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,MAAM,GAAE,EAgB5B,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CAK5D"}
1
+ {"version":3,"file":"transform.d.ts","sourceRoot":"","sources":["../../src/array/transform.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAExD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAE7C;;;;;;;GAOG;AACH,eAAO,MAAM,kBAAkB,GAC9B,CAAC,SAAS,gBAAgB,EAC1B,EAAE,SAAS,MAAM,YACjB,EAAE,SAAS,MAAM,kBAEX,CAAC,EAAE,UACD,aAAa,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,KAC9B,GAAG,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,MAAM,GAAE,EAgB5B,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CAK5D"}
@@ -1,12 +1,11 @@
1
- import type { PrimitiveKey, UncontrolledAny } from '../types';
1
+ import type { GenericObjectAny } from '../object/types';
2
+ import type { PrimitiveKey } from '../types';
2
3
  /**
3
4
  * * Flatten Array or Wrap in Array
4
5
  *
5
6
  * @template T - The type of the input, which can be a nested array or a non-array value.
6
7
  * */
7
8
  export type Flattened<T> = T extends (infer U)[] ? Flattened<U> : T;
8
- /** - Input for `createOptionsArray`. */
9
- export type OptionInput = Record<string, UncontrolledAny>;
10
9
  /**
11
10
  * - Configuration for `createOptionsArray`.
12
11
  * - Defines the mapping between keys in the input objects and the keys in the output options.
@@ -39,8 +38,6 @@ export interface OptionsConfig<T, K1, K2> {
39
38
  */
40
39
  secondFieldName?: K2;
41
40
  }
42
- /** - Object type with string or number or boolean as value for each key. */
43
- export type InputObject = Record<string, string | number | boolean>;
44
41
  /** - Option for sorting order. */
45
42
  export interface OrderOption {
46
43
  /**
@@ -54,8 +51,8 @@ export interface OrderOption {
54
51
  * * Options for sorting an array of objects.
55
52
  * @template T - The type of objects in the array.
56
53
  */
57
- export interface SortOptions<T extends Record<string, unknown>> extends OrderOption {
54
+ export interface SortOptions<T extends GenericObjectAny> extends OrderOption {
58
55
  /** The field by which to sort the objects in the array. */
59
- sortByField?: keyof T;
56
+ sortByField?: PrimitiveKey<T>;
60
57
  }
61
58
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/array/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAE9D;;;;MAIM;AACN,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AAEpE,wCAAwC;AACxC,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;AAE1D;;;;;;;GAOG;AACH,MAAM,WAAW,aAAa,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE;IACvC;;;OAGG;IACH,aAAa,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;IAE/B;;;OAGG;IACH,cAAc,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;IAEhC;;;;OAIG;IACH,cAAc,CAAC,EAAE,EAAE,CAAC;IAEpB;;;;OAIG;IACH,eAAe,CAAC,EAAE,EAAE,CAAC;CACrB;AAED,4EAA4E;AAC5E,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;AAEpE,kCAAkC;AAClC,MAAM,WAAW,WAAW;IAC3B;;;;OAIG;IACH,SAAS,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;CAC3B;AAED;;;GAGG;AACH,MAAM,WAAW,WAAW,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAC7D,SAAQ,WAAW;IACnB,2DAA2D;IAC3D,WAAW,CAAC,EAAE,MAAM,CAAC,CAAC;CACtB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/array/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAE7C;;;;MAIM;AACN,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AAEpE;;;;;;;GAOG;AACH,MAAM,WAAW,aAAa,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE;IACvC;;;OAGG;IACH,aAAa,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;IAE/B;;;OAGG;IACH,cAAc,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;IAEhC;;;;OAIG;IACH,cAAc,CAAC,EAAE,EAAE,CAAC;IAEpB;;;;OAIG;IACH,eAAe,CAAC,EAAE,EAAE,CAAC;CACrB;AAED,kCAAkC;AAClC,MAAM,WAAW,WAAW;IAC3B;;;;OAIG;IACH,SAAS,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;CAC3B;AAED;;;GAGG;AACH,MAAM,WAAW,WAAW,CAAC,CAAC,SAAS,gBAAgB,CAAE,SAAQ,WAAW;IAC3E,2DAA2D;IAC3D,WAAW,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;CAC9B"}
@@ -1,11 +1,11 @@
1
- import type { LooseObject } from '../object/types';
1
+ import type { GenericObjectAny } from '../object/types';
2
2
  /**
3
3
  * * Utility to convert object into FormData.
4
4
  *
5
5
  * @param data Data to convert into FormData.
6
6
  * @returns Converted FormData.
7
7
  */
8
- export declare const convertIntoFormData: <T extends LooseObject>(data: T) => FormData;
8
+ export declare const convertIntoFormData: <T extends GenericObjectAny>(data: T) => FormData;
9
9
  /**
10
10
  * * Check if a formdata object is empty.
11
11
  *
@@ -1 +1 @@
1
- {"version":3,"file":"convert.d.ts","sourceRoot":"","sources":["../../src/form/convert.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAEnD;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,GAAI,CAAC,SAAS,WAAW,QAClD,CAAC,KACL,QAYF,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,eAAe,SAAU,QAAQ,KAAG,OAQhD,CAAC"}
1
+ {"version":3,"file":"convert.d.ts","sourceRoot":"","sources":["../../src/form/convert.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAExD;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,GAAI,CAAC,SAAS,gBAAgB,QACvD,CAAC,KACL,QAYF,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,eAAe,SAAU,QAAQ,KAAG,OAQhD,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { LooseObject } from '../object/types';
1
+ import type { GenericObjectAny } from '../object/types';
2
2
  import type { FormDataConfigs } from './types';
3
3
  /**
4
4
  * Utility to convert object into FormData in a controlled way.
@@ -8,5 +8,5 @@ import type { FormDataConfigs } from './types';
8
8
  *
9
9
  * @returns FormData instance containing the sanitized and transformed data
10
10
  */
11
- export declare const createControlledFormData: <T extends LooseObject>(data: T, configs?: FormDataConfigs<T>) => FormData;
11
+ export declare const createControlledFormData: <T extends GenericObjectAny>(data: T, configs?: FormDataConfigs<T>) => FormData;
12
12
  //# sourceMappingURL=transform.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"transform.d.ts","sourceRoot":"","sources":["../../src/form/transform.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAEnD,OAAO,KAAK,EAAqB,eAAe,EAAE,MAAM,SAAS,CAAC;AAElE;;;;;;;GAOG;AACH,eAAO,MAAM,wBAAwB,GAAI,CAAC,SAAS,WAAW,QACvD,CAAC,YACG,eAAe,CAAC,CAAC,CAAC,KAC1B,QAqFF,CAAC"}
1
+ {"version":3,"file":"transform.d.ts","sourceRoot":"","sources":["../../src/form/transform.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAqB,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAE3E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE/C;;;;;;;GAOG;AACH,eAAO,MAAM,wBAAwB,GAAI,CAAC,SAAS,gBAAgB,QAC5D,CAAC,YACG,eAAe,CAAC,CAAC,CAAC,KAC1B,QAqFF,CAAC"}
@@ -1,17 +1,13 @@
1
- import type { LooseObject } from '../object/types';
2
- /** - Dot-notation keys for nested objects */
3
- export type AnyDotNotationKey<T> = T extends LooseObject ? {
4
- [K in keyof T & string]: T[K] extends LooseObject ? `${K}` | `${K}.${AnyDotNotationKey<T[K]>}` : `${K}`;
5
- }[keyof T & string] : never;
1
+ import type { DotNotationKeyAny } from '../object/types';
6
2
  export interface FormDataConfigs<T> {
7
3
  /** - Keys to exclude from processing. Ignored keys are ignored even if they're in other options */
8
- ignoreKeys?: AnyDotNotationKey<T>[];
4
+ ignoreKeys?: DotNotationKeyAny<T>[];
9
5
  /** - Keys to preserve even if falsy. `*` to include all keys */
10
- requiredKeys?: '*' | AnyDotNotationKey<T>[];
6
+ requiredKeys?: '*' | DotNotationKeyAny<T>[];
11
7
  /** - Keys to convert to lowercase. `*` to include all keys */
12
- lowerCaseKeys?: '*' | AnyDotNotationKey<T>[];
8
+ lowerCaseKeys?: '*' | DotNotationKeyAny<T>[];
13
9
  /** - Dot-notation paths to preserve (e.g., 'user.settings.theme'). `*` to include all keys */
14
- preservePaths?: '*' | AnyDotNotationKey<T>[];
10
+ preservePaths?: '*' | DotNotationKeyAny<T>[];
15
11
  /** - Whether to trim string values */
16
12
  trimStrings?: boolean;
17
13
  }
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/form/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAEnD,6CAA6C;AAC7C,MAAM,MAAM,iBAAiB,CAAC,CAAC,IAC9B,CAAC,SAAS,WAAW,GACpB;KACE,CAAC,IAAI,MAAM,CAAC,GAAG,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,WAAW,GAChD,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,IAAI,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GACzC,GAAG,CAAC,EAAE;CACR,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,GAClB,KAAK,CAAC;AAET,MAAM,WAAW,eAAe,CAAC,CAAC;IACjC,mGAAmG;IACnG,UAAU,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC;IACpC,gEAAgE;IAChE,YAAY,CAAC,EAAE,GAAG,GAAG,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5C,+DAA+D;IAC/D,aAAa,CAAC,EAAE,GAAG,GAAG,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7C,8FAA8F;IAC9F,aAAa,CAAC,EAAE,GAAG,GAAG,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7C,sCAAsC;IACtC,WAAW,CAAC,EAAE,OAAO,CAAC;CACtB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/form/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEzD,MAAM,WAAW,eAAe,CAAC,CAAC;IACjC,mGAAmG;IACnG,UAAU,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC;IACpC,gEAAgE;IAChE,YAAY,CAAC,EAAE,GAAG,GAAG,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5C,+DAA+D;IAC/D,aAAa,CAAC,EAAE,GAAG,GAAG,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7C,8FAA8F;IAC9F,aAAa,CAAC,EAAE,GAAG,GAAG,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7C,sCAAsC;IACtC,WAAW,CAAC,EAAE,OAAO,CAAC;CACtB"}
@@ -1,4 +1,4 @@
1
- import type { GenericObject, QueryObject } from './types';
1
+ import type { GenericObjectAny, QueryObject } from './types';
2
2
  /**
3
3
  * * Utility to generate query parameters from an object.
4
4
  *
@@ -20,21 +20,21 @@ export declare const generateQueryParams: <T extends QueryObject>(params?: T) =>
20
20
  * @param obj Object to clone.
21
21
  * @returns Deep cloned object.
22
22
  */
23
- export declare const cloneObject: <T extends GenericObject>(obj: T) => T;
23
+ export declare const cloneObject: <T extends GenericObjectAny>(obj: T) => T;
24
24
  /**
25
25
  * * Check if an object is empty.
26
26
  *
27
27
  * @param obj Object to check.
28
28
  * @returns Whether the object is empty.
29
29
  */
30
- export declare const isEmptyObject: <T extends GenericObject>(obj: T) => boolean;
30
+ export declare const isEmptyObject: <T extends GenericObjectAny>(obj: T) => boolean;
31
31
  /**
32
32
  * * Count the number of fields in an object.
33
33
  *
34
34
  * @param obj Object to check.
35
35
  * @returns Number of fields in the object.
36
36
  */
37
- export declare const countObjectFields: <T extends GenericObject>(obj: T) => number;
37
+ export declare const countObjectFields: <T extends GenericObjectAny>(obj: T) => number;
38
38
  /**
39
39
  * * Check whether data is object and not array.
40
40
  *
@@ -1 +1 @@
1
- {"version":3,"file":"basics.d.ts","sourceRoot":"","sources":["../../src/object/basics.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE1D;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,mBAAmB,GAAI,CAAC,SAAS,WAAW,WAChD,CAAC,KACP,MAkCF,CAAC;AACF;;;;;GAKG;AACH,eAAO,MAAM,WAAW,GAAI,CAAC,SAAS,aAAa,OAAO,CAAC,KAAG,CAE7D,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,aAAa,GAAI,CAAC,SAAS,aAAa,OAAO,CAAC,KAAG,OAI/D,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,GAAI,CAAC,SAAS,aAAa,OAAO,CAAC,KAAG,MAInE,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,QAAQ,SAAU,OAAO,KAAG,OAExC,CAAC"}
1
+ {"version":3,"file":"basics.d.ts","sourceRoot":"","sources":["../../src/object/basics.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE7D;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,mBAAmB,GAAI,CAAC,SAAS,WAAW,WAChD,CAAC,KACP,MAkCF,CAAC;AACF;;;;;GAKG;AACH,eAAO,MAAM,WAAW,GAAI,CAAC,SAAS,gBAAgB,OAAO,CAAC,KAAG,CAEhE,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,aAAa,GAAI,CAAC,SAAS,gBAAgB,OAAO,CAAC,KAAG,OAIlE,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,GAAI,CAAC,SAAS,gBAAgB,OACtD,CAAC,KACJ,MAIF,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,QAAQ,SAAU,OAAO,KAAG,OAExC,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { DotNotationKey, GenericObject, Numberified, Stringified } from './types';
1
+ import type { DotNotationKeyAny, GenericObjectAny, Numberified, Stringified } from './types';
2
2
  /**
3
3
  * * Converts the values of specified keys in an object to numbers.
4
4
  * * Supports nested objects using dot-notation keys.
@@ -9,8 +9,8 @@ import type { DotNotationKey, GenericObject, Numberified, Stringified } from './
9
9
  * - `convertTo`: The target type, either `"string"` or `"number"`.
10
10
  * @returns The modified object with the converted values as `"string"` or `"number"`.
11
11
  */
12
- export declare function convertObjectValues<T extends GenericObject, C extends 'string' | 'number'>(data: T, options: {
13
- keys: DotNotationKey<T>[];
12
+ export declare function convertObjectValues<T extends GenericObjectAny, C extends 'string' | 'number'>(data: T, options: {
13
+ keys: DotNotationKeyAny<T>[];
14
14
  convertTo: C;
15
15
  }): C extends 'string' ? Stringified<T> : C extends 'number' ? Numberified<T> : never;
16
16
  /**
@@ -23,8 +23,8 @@ export declare function convertObjectValues<T extends GenericObject, C extends '
23
23
  * - `convertTo`: The target type, either `"string"` or `"number"`.
24
24
  * @returns The modified array of objects with the converted values as `"string"` or `"number"`.
25
25
  */
26
- export declare function convertObjectValues<T extends GenericObject, C extends 'string' | 'number'>(data: T[], options: {
27
- keys: DotNotationKey<T>[];
26
+ export declare function convertObjectValues<T extends GenericObjectAny, C extends 'string' | 'number'>(data: T[], options: {
27
+ keys: DotNotationKeyAny<T>[];
28
28
  convertTo: C;
29
29
  }): C extends 'string' ? Stringified<T>[] : C extends 'number' ? Numberified<T>[] : never;
30
30
  //# sourceMappingURL=convert.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"convert.d.ts","sourceRoot":"","sources":["../../src/object/convert.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACX,cAAc,EACd,aAAa,EACb,WAAW,EACX,WAAW,EACX,MAAM,SAAS,CAAC;AAEjB;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CAClC,CAAC,SAAS,aAAa,EACvB,CAAC,SAAS,QAAQ,GAAG,QAAQ,EAE7B,IAAI,EAAE,CAAC,EACP,OAAO,EAAE;IAAE,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC;IAAC,SAAS,EAAE,CAAC,CAAA;CAAE,GAClD,CAAC,SAAS,QAAQ,GAAG,WAAW,CAAC,CAAC,CAAC,GACpC,CAAC,SAAS,QAAQ,GAAG,WAAW,CAAC,CAAC,CAAC,GACnC,KAAK,CAAC;AAER;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CAClC,CAAC,SAAS,aAAa,EACvB,CAAC,SAAS,QAAQ,GAAG,QAAQ,EAE7B,IAAI,EAAE,CAAC,EAAE,EACT,OAAO,EAAE;IAAE,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC;IAAC,SAAS,EAAE,CAAC,CAAA;CAAE,GAClD,CAAC,SAAS,QAAQ,GAAG,WAAW,CAAC,CAAC,CAAC,EAAE,GACtC,CAAC,SAAS,QAAQ,GAAG,WAAW,CAAC,CAAC,CAAC,EAAE,GACrC,KAAK,CAAC"}
1
+ {"version":3,"file":"convert.d.ts","sourceRoot":"","sources":["../../src/object/convert.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACX,iBAAiB,EACjB,gBAAgB,EAChB,WAAW,EACX,WAAW,EACX,MAAM,SAAS,CAAC;AAEjB;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CAClC,CAAC,SAAS,gBAAgB,EAC1B,CAAC,SAAS,QAAQ,GAAG,QAAQ,EAE7B,IAAI,EAAE,CAAC,EACP,OAAO,EAAE;IAAE,IAAI,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC;IAAC,SAAS,EAAE,CAAC,CAAA;CAAE,GACrD,CAAC,SAAS,QAAQ,GAAG,WAAW,CAAC,CAAC,CAAC,GACpC,CAAC,SAAS,QAAQ,GAAG,WAAW,CAAC,CAAC,CAAC,GACnC,KAAK,CAAC;AAER;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CAClC,CAAC,SAAS,gBAAgB,EAC1B,CAAC,SAAS,QAAQ,GAAG,QAAQ,EAE7B,IAAI,EAAE,CAAC,EAAE,EACT,OAAO,EAAE;IAAE,IAAI,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC;IAAC,SAAS,EAAE,CAAC,CAAA;CAAE,GACrD,CAAC,SAAS,QAAQ,GAAG,WAAW,CAAC,CAAC,CAAC,EAAE,GACtC,CAAC,SAAS,QAAQ,GAAG,WAAW,CAAC,CAAC,CAAC,EAAE,GACrC,KAAK,CAAC"}
@@ -1,11 +1,11 @@
1
- import type { GenericObject, LooseObject } from './types';
1
+ import type { GenericObjectAny } from './types';
2
2
  /**
3
3
  * * Deeply merge two or more objects using `Map`.
4
4
  *
5
5
  * @param objects Objects to merge.
6
6
  * @returns Merged object.
7
7
  */
8
- export declare const mergeObjects: <T extends GenericObject>(...objects: T[]) => T;
8
+ export declare const mergeObjects: <T extends GenericObjectAny>(...objects: T[]) => T;
9
9
  /**
10
10
  * * Deeply merge objects and flatten nested objects.
11
11
  * * Useful for flattening a single object or merging multiple objects with duplicate key(s).
@@ -14,21 +14,21 @@ export declare const mergeObjects: <T extends GenericObject>(...objects: T[]) =>
14
14
  * @param objects Objects to merge.
15
15
  * @returns Merged object with flattened structure.
16
16
  */
17
- export declare const mergeAndFlattenObjects: <T extends GenericObject>(...objects: T[]) => GenericObject;
17
+ export declare const mergeAndFlattenObjects: <T extends GenericObjectAny>(...objects: T[]) => GenericObjectAny;
18
18
  /**
19
19
  * * Flattens a nested object into key-value format.
20
20
  *
21
21
  * @param object - The `object` to flatten.
22
22
  * @returns A `flattened object` in key-value format.
23
23
  */
24
- export declare const flattenObjectKeyValue: <T extends LooseObject>(object: T) => T;
24
+ export declare const flattenObjectKeyValue: <T extends GenericObjectAny>(object: T) => T;
25
25
  /**
26
26
  * * Flattens a nested object into a dot notation format.
27
27
  *
28
28
  * @param object - The `object` to flatten.
29
29
  * @returns A `flattened object` with dot notation keys.
30
30
  */
31
- export declare const flattenObjectDotNotation: <T extends GenericObject>(object: T) => GenericObject;
31
+ export declare const flattenObjectDotNotation: <T extends GenericObjectAny>(object: T) => GenericObjectAny;
32
32
  /**
33
33
  * * Extracts only the fields that have changed between the original and updated object.
34
34
  *
@@ -36,7 +36,7 @@ export declare const flattenObjectDotNotation: <T extends GenericObject>(object:
36
36
  * @param updatedObject The modified object containing potential updates.
37
37
  * @returns A new object containing only the changed fields.
38
38
  */
39
- export declare const extractUpdatedFields: <T extends LooseObject>(baseObject: T, updatedObject: Partial<T>) => Partial<T>;
39
+ export declare const extractUpdatedFields: <T extends GenericObjectAny>(baseObject: T, updatedObject: Partial<T>) => Partial<T>;
40
40
  /**
41
41
  * * Extracts only new fields that exist in updatedObject but not in baseObject.
42
42
  *
@@ -44,7 +44,7 @@ export declare const extractUpdatedFields: <T extends LooseObject>(baseObject: T
44
44
  * @param updatedObject The modified object containing potential new fields.
45
45
  * @returns A new object containing only the new fields.
46
46
  */
47
- export declare const extractNewFields: <T extends LooseObject>(baseObject: T, updatedObject: Partial<T>) => Partial<T>;
47
+ export declare const extractNewFields: <T extends GenericObjectAny>(baseObject: T, updatedObject: Partial<T> & GenericObjectAny) => GenericObjectAny;
48
48
  /**
49
49
  * * Extracts changed fields from the updated object while also identifying newly added keys.
50
50
  *
@@ -52,5 +52,5 @@ export declare const extractNewFields: <T extends LooseObject>(baseObject: T, up
52
52
  * @param updatedObject The modified object containing potential updates.
53
53
  * @returns An object containing modified fields and new fields separately.
54
54
  */
55
- export declare const extractUpdatedAndNewFields: <T extends LooseObject>(baseObject: T, updatedObject: Partial<T> & LooseObject) => Partial<T> & LooseObject;
55
+ export declare const extractUpdatedAndNewFields: <T extends GenericObjectAny>(baseObject: T, updatedObject: Partial<T> & GenericObjectAny) => Partial<T> & GenericObjectAny;
56
56
  //# sourceMappingURL=objectify.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"objectify.d.ts","sourceRoot":"","sources":["../../src/object/objectify.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE1D;;;;;GAKG;AACH,eAAO,MAAM,YAAY,GAAI,CAAC,SAAS,aAAa,cAAc,CAAC,EAAE,KAAG,CAuCvE,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,sBAAsB,GAAI,CAAC,SAAS,aAAa,cACjD,CAAC,EAAE,KACb,aAyBF,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,GAAI,CAAC,SAAS,WAAW,UAAU,CAAC,KAAG,CAmBxE,CAAC;AACF;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB,GAAI,CAAC,SAAS,aAAa,UACvD,CAAC,KACP,aAkCF,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB,GAAI,CAAC,SAAS,WAAW,cAC7C,CAAC,iBACE,OAAO,CAAC,CAAC,CAAC,KACvB,OAAO,CAAC,CAAC,CAwBX,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB,GAAI,CAAC,SAAS,WAAW,cACzC,CAAC,iBACE,OAAO,CAAC,CAAC,CAAC,KACvB,OAAO,CAAC,CAAC,CAqBX,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,0BAA0B,GAAI,CAAC,SAAS,WAAW,cACnD,CAAC,iBACE,OAAO,CAAC,CAAC,CAAC,GAAG,WAAW,KACrC,OAAO,CAAC,CAAC,CAAC,GAAG,WAwBf,CAAC"}
1
+ {"version":3,"file":"objectify.d.ts","sourceRoot":"","sources":["../../src/object/objectify.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAEhD;;;;;GAKG;AACH,eAAO,MAAM,YAAY,GAAI,CAAC,SAAS,gBAAgB,cAC1C,CAAC,EAAE,KACb,CAuCF,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,sBAAsB,GAAI,CAAC,SAAS,gBAAgB,cACpD,CAAC,EAAE,KACb,gBAyBF,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,GAAI,CAAC,SAAS,gBAAgB,UACvD,CAAC,KACP,CAmBF,CAAC;AACF;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB,GAAI,CAAC,SAAS,gBAAgB,UAC1D,CAAC,KACP,gBAqCF,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB,GAAI,CAAC,SAAS,gBAAgB,cAClD,CAAC,iBACE,OAAO,CAAC,CAAC,CAAC,KACvB,OAAO,CAAC,CAAC,CAwBX,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB,GAAI,CAAC,SAAS,gBAAgB,cAC9C,CAAC,iBACE,OAAO,CAAC,CAAC,CAAC,GAAG,gBAAgB,KAC1C,gBAqBF,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,0BAA0B,GAAI,CAAC,SAAS,gBAAgB,cACxD,CAAC,iBACE,OAAO,CAAC,CAAC,CAAC,GAAG,gBAAgB,KAC1C,OAAO,CAAC,CAAC,CAAC,GAAG,gBAwBf,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { GenericObject, SanitizedData, SanitizeOptions } from './types';
1
+ import type { GenericObjectAny, SanitizedData, SanitizeOptions } from './types';
2
2
  /**
3
3
  * * Sanitizes an object by ignoring specified keys and trimming string values based on options provided.
4
4
  * * Also excludes nullish values (null, undefined) if specified. Always ignores empty nested object(s).
@@ -7,7 +7,7 @@ import type { GenericObject, SanitizedData, SanitizeOptions } from './types';
7
7
  * @param options - Options that define which keys to ignore, whether to trim string values, and whether to exclude nullish values.
8
8
  * @returns A new object with the specified modifications.
9
9
  */
10
- export declare function sanitizeData<T extends GenericObject>(object: T, options?: SanitizeOptions<T>): SanitizedData<T>;
10
+ export declare function sanitizeData<T extends GenericObjectAny>(object: T, options?: SanitizeOptions<T>): SanitizedData<T>;
11
11
  /**
12
12
  * * Sanitizes an array of objects by ignoring specified keys and trimming string values based on options provided.
13
13
  * * Also excludes nullish values (null, undefined) if specified. Always ignores empty nested object(s).
@@ -16,7 +16,7 @@ export declare function sanitizeData<T extends GenericObject>(object: T, options
16
16
  * @param options - Options that define which keys to ignore, whether to trim string values, and whether to exclude nullish values.
17
17
  * @returns A new array of objects with the specified modifications.
18
18
  */
19
- export declare function sanitizeData<T extends GenericObject>(array: T[], options?: SanitizeOptions<T>): SanitizedData<T>[];
19
+ export declare function sanitizeData<T extends GenericObjectAny>(array: T[], options?: SanitizeOptions<T>): SanitizedData<T>[];
20
20
  /**
21
21
  * * Trims all the words in a string.
22
22
  *
@@ -1 +1 @@
1
- {"version":3,"file":"sanitize.d.ts","sourceRoot":"","sources":["../../src/object/sanitize.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAEX,aAAa,EACb,aAAa,EACb,eAAe,EACf,MAAM,SAAS,CAAC;AAEjB;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,CAAC,SAAS,aAAa,EACnD,MAAM,EAAE,CAAC,EACT,OAAO,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,GAC1B,aAAa,CAAC,CAAC,CAAC,CAAC;AAEpB;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,CAAC,SAAS,aAAa,EACnD,KAAK,EAAE,CAAC,EAAE,EACV,OAAO,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,GAC1B,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;AAEtB;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;AAEpD;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC"}
1
+ {"version":3,"file":"sanitize.d.ts","sourceRoot":"","sources":["../../src/object/sanitize.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAEX,gBAAgB,EAChB,aAAa,EACb,eAAe,EACf,MAAM,SAAS,CAAC;AAEjB;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,CAAC,SAAS,gBAAgB,EACtD,MAAM,EAAE,CAAC,EACT,OAAO,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,GAC1B,aAAa,CAAC,CAAC,CAAC,CAAC;AAEpB;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,CAAC,SAAS,gBAAgB,EACtD,KAAK,EAAE,CAAC,EAAE,EACV,OAAO,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,GAC1B,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;AAEtB;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;AAEpD;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC"}
@@ -1,8 +1,8 @@
1
1
  import type { Primitive } from '../types';
2
2
  /** - Generic object with `unknown` value */
3
- export type GenericObject = Record<string, unknown>;
3
+ export type GenericObjectStrict = Record<string, unknown>;
4
4
  /** - Generic object but with `any` value */
5
- export type LooseObject = Record<string, any>;
5
+ export type GenericObjectAny = Record<string, any>;
6
6
  /**
7
7
  * * Represents a value that can be used in a query object.
8
8
  * - Can be a primitive, an array of primitives, or a nested query object.
@@ -15,14 +15,20 @@ export type QueryObjectValue = Primitive | Primitive[] | QueryObject;
15
15
  export type QueryObject = {
16
16
  [key: string]: QueryObjectValue;
17
17
  };
18
+ /** - Object type with string or number or boolean as value for each key. */
19
+ export type GenericObjectPrimitive = Record<string, string | number | boolean>;
18
20
  /** - Dot-notation keys for nested objects */
19
- export type DotNotationKey<T> = T extends GenericObject ? {
20
- [K in keyof T & string]: T[K] extends GenericObject ? `${K}` | `${K}.${DotNotationKey<T[K]>}` : `${K}`;
21
+ export type DotNotationKeyStrict<T> = T extends GenericObjectStrict ? {
22
+ [K in keyof T & string]: T[K] extends GenericObjectStrict ? `${K}` | `${K}.${DotNotationKeyStrict<T[K]>}` : `${K}`;
23
+ }[keyof T & string] : never;
24
+ /** - Dot-notation keys for nested objects */
25
+ export type DotNotationKeyAny<T> = T extends GenericObjectAny ? {
26
+ [K in keyof T & string]: T[K] extends GenericObjectAny ? `${K}` | `${K}.${DotNotationKeyAny<T[K]>}` : `${K}`;
21
27
  }[keyof T & string] : never;
22
28
  /** - Options for `sanitizeData` */
23
- export interface SanitizeOptions<T extends GenericObject> {
29
+ export interface SanitizeOptions<T extends GenericObjectAny> {
24
30
  /** Keys to ignore */
25
- keysToIgnore?: DotNotationKey<T>[];
31
+ keysToIgnore?: DotNotationKeyAny<T>[];
26
32
  /** Whether to trim string values. Defaults to `true` */
27
33
  trimStrings?: boolean;
28
34
  /** Whether to exclude nullish (null or undefined) values. Defaults to `false` */
@@ -30,14 +36,14 @@ export interface SanitizeOptions<T extends GenericObject> {
30
36
  }
31
37
  /** - Data after sanitization. */
32
38
  export type SanitizedData<T> = {
33
- [P in keyof T]?: T[P] extends GenericObject ? SanitizedData<T[P]> : T[P];
39
+ [P in keyof T]?: T[P] extends GenericObjectAny ? SanitizedData<T[P]> : T[P];
34
40
  };
35
41
  /**
36
42
  * - Dot-notation keys for nested objects.
37
43
  * ! Unused
38
44
  */
39
- export type KeyConversion<T> = T extends GenericObject ? {
40
- [K in keyof T & string]: K extends string ? T[K] extends GenericObject ? `${K}` | `${K}.${KeyConversion<T[K]>}` : `${K}` : never;
45
+ export type KeyConversion<T> = T extends GenericObjectStrict ? {
46
+ [K in keyof T & string]: K extends string ? T[K] extends GenericObjectStrict ? `${K}` | `${K}.${KeyConversion<T[K]>}` : `${K}` : never;
41
47
  }[keyof T & string] : never;
42
48
  /**
43
49
  * ! Unused
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/object/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/object/types.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,10 @@ export type Primitive = string | number | boolean | null | undefined;
12
12
  export type PrimitiveKey<T> = {
13
13
  [K in keyof T]: T[K] extends Primitive ? K : never;
14
14
  }[keyof T];
15
+ /** Extract primitive (string, number or boolean) key(s) from an object */
16
+ export type NonNullishPrimitiveKey<T> = {
17
+ [K in keyof T]: T[K] extends string | number | boolean ? K : never;
18
+ }[keyof T];
15
19
  /** Generic function type */
16
20
  export type GenericFn = (...args: any[]) => void;
17
21
  /** Debounced function type after certain delay */
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,MAAM,MAAM,eAAe,GAAG,GAAG,CAAC;AAElC,OAAO,CAAC,MAAM,OAAO,EAAE,OAAO,MAAM,CAAC;AACrC,KAAK,KAAK,CAAC,CAAC,IAAI;IAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;CAAE,CAAC;AAEjC,6BAA6B;AAC7B,MAAM,MAAM,OAAO,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;AAEzC,+BAA+B;AAC/B,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC;AAErE,8CAA8C;AAC9C,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI;KAC5B,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,SAAS,GAAG,CAAC,GAAG,KAAK;CAClD,CAAC,MAAM,CAAC,CAAC,CAAC;AAEX,4BAA4B;AAC5B,MAAM,MAAM,SAAS,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;AAEjD,kDAAkD;AAClD,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS,SAAS,IAAI,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;AAE9E,mDAAmD;AACnD,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,SAAS,IAAI,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,MAAM,MAAM,eAAe,GAAG,GAAG,CAAC;AAElC,OAAO,CAAC,MAAM,OAAO,EAAE,OAAO,MAAM,CAAC;AACrC,KAAK,KAAK,CAAC,CAAC,IAAI;IAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;CAAE,CAAC;AAEjC,6BAA6B;AAC7B,MAAM,MAAM,OAAO,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;AAEzC,+BAA+B;AAC/B,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC;AAErE,8CAA8C;AAC9C,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI;KAC5B,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,SAAS,GAAG,CAAC,GAAG,KAAK;CAClD,CAAC,MAAM,CAAC,CAAC,CAAC;AAEX,0EAA0E;AAC1E,MAAM,MAAM,sBAAsB,CAAC,CAAC,IAAI;KACtC,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,CAAC,GAAG,KAAK;CAClE,CAAC,MAAM,CAAC,CAAC,CAAC;AAEX,4BAA4B;AAC5B,MAAM,MAAM,SAAS,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;AAEjD,kDAAkD;AAClD,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS,SAAS,IAAI,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;AAE9E,mDAAmD;AACnD,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,SAAS,IAAI,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAElE;;;;;;GAMG;AACH,eAAO,MAAM,WAAW,GAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAG,OA6B3C,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB,GAAI,CAAC,SAC9B,CAAC,EAAE,cACC,MAAM,KACf,MAKF,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,cAAc,GAAI,CAAC,SAAS,SAAS,YACvC,CAAC,qBAET,SAAS,CAAC,CAAC,CAYb,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,cAAc,GAAI,CAAC,SAAS,SAAS,YACvC,CAAC,qBAET,WAAW,CAAC,CAAC,CAWf,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAElE;;;;;;GAMG;AACH,eAAO,MAAM,WAAW,GAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAG,OAgC3C,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB,GAAI,CAAC,SAC9B,CAAC,EAAE,cACC,MAAM,KACf,MAKF,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,cAAc,GAAI,CAAC,SAAS,SAAS,YACvC,CAAC,qBAET,SAAS,CAAC,CAAC,CAYb,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,cAAc,GAAI,CAAC,SAAS,SAAS,YACvC,CAAC,qBAET,WAAW,CAAC,CAAC,CAWf,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nhb-toolbox",
3
- "version": "2.4.3",
3
+ "version": "2.4.4",
4
4
  "description": "A versatile collection of smart, efficient, and reusable utility functions for everyday development needs.",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",