nhb-toolbox 2.9.0 → 2.9.3

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.
@@ -45,8 +45,8 @@ export const isInvalidOrEmptyArray = (value) => {
45
45
  return true;
46
46
  if (value.length === 0)
47
47
  return true;
48
- return value.every((item) => item == null || // null or undefined
49
- (Array.isArray(item) && item.length === 0) || // Empty array
48
+ return value.every((item) => item == null ||
49
+ (Array.isArray(item) && item.length === 0) ||
50
50
  (typeof item === 'object' && Object.keys(item || {}).length === 0));
51
51
  };
52
52
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"convert.d.ts","sourceRoot":"","sources":["../../src/form/convert.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAEX,aAAa,EAEb,MAAM,iBAAiB,CAAC;AAEzB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE/C;;;;;;GAMG;AACH,eAAO,MAAM,wBAAwB,GAAI,CAAC,SAAS,aAAa,QACzD,CAAC,YACG,eAAe,CAAC,CAAC,CAAC,KAC1B,QA2NF,CAAC"}
1
+ {"version":3,"file":"convert.d.ts","sourceRoot":"","sources":["../../src/form/convert.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAEX,aAAa,EAEb,MAAM,iBAAiB,CAAC;AAQzB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE/C;;;;;;GAMG;AACH,eAAO,MAAM,wBAAwB,GAAI,CAAC,SAAS,aAAa,QACzD,CAAC,YACG,eAAe,CAAC,CAAC,CAAC,KAC1B,QAkQF,CAAC"}
@@ -1,6 +1,7 @@
1
- import { isInvalidOrEmptyArray } from '../array/basics';
2
- import { isEmptyObject } from '../object/basics';
3
- import { isCustomFile, isCustomFileArray, isFileUpload } from './guards';
1
+ /// <reference lib="dom" />
2
+ import { isEmptyObject, isNotEmptyObject, isValidArray, } from '../guards/non-primitives';
3
+ import { isNonEmptyString } from '../guards/primitives';
4
+ import { isCustomFile, isCustomFileArray, isFileArray, isFileList, isFileUpload, } from './guards';
4
5
  /**
5
6
  * * Utility to convert object into FormData in a controlled way.
6
7
  *
@@ -11,25 +12,25 @@ import { isCustomFile, isCustomFileArray, isFileUpload } from './guards';
11
12
  export const createControlledFormData = (data, configs) => {
12
13
  const formData = new FormData();
13
14
  const { stringifyNested = '*' } = configs || {};
14
- /** Helper to check if a key should be lowercase */
15
+ /** - Helper to check if a key should be lowercase */
15
16
  const shouldLowercaseKeys = (key) => {
16
17
  return Array.isArray(configs?.lowerCaseKeys) ?
17
18
  configs.lowerCaseKeys.some((path) => key === path || key.startsWith(`${path}.`))
18
19
  : configs?.lowerCaseKeys === '*';
19
20
  };
20
- /** Helper to check if a key should be lowercase */
21
+ /** - Helper to check if a key should be lowercase */
21
22
  const shouldLowercaseValue = (key) => {
22
23
  return Array.isArray(configs?.lowerCaseValues) ?
23
24
  configs.lowerCaseValues.some((path) => key === path || key.startsWith(`${path}.`))
24
25
  : configs?.lowerCaseValues === '*';
25
26
  };
26
- /** Transforms key to lowercase if needed */
27
- const transformKey = (key) => {
27
+ /** - Transforms key to lowercase if needed */
28
+ const _transformKey = (key) => {
28
29
  return shouldLowercaseKeys(key) ? key.toLowerCase() : key;
29
30
  };
30
31
  /** - Helper function to check if a key matches a breakArray key. */
31
32
  const isRequiredKey = (key) => {
32
- const transformedKey = transformKey(key);
33
+ const transformedKey = _transformKey(key);
33
34
  return Array.isArray(configs?.requiredKeys) ?
34
35
  configs.requiredKeys.some((path) => transformedKey === path ||
35
36
  transformedKey.startsWith(`${path}.`))
@@ -37,21 +38,21 @@ export const createControlledFormData = (data, configs) => {
37
38
  };
38
39
  /** - Helper function to check if a key matches a dotNotation path to preserve. */
39
40
  const shouldDotNotate = (key) => {
40
- const transformedKey = transformKey(key);
41
+ const transformedKey = _transformKey(key);
41
42
  return Array.isArray(configs?.dotNotateNested) ?
42
43
  configs.dotNotateNested.includes(transformedKey)
43
44
  : configs?.dotNotateNested === '*';
44
45
  };
45
46
  /** - Helper function to check if a key matches a stringifyNested key. */
46
47
  const shouldStringify = (key) => {
47
- const transformedKey = transformKey(key);
48
+ const transformedKey = _transformKey(key);
48
49
  return Array.isArray(stringifyNested) ?
49
50
  stringifyNested.includes(transformedKey)
50
51
  : stringifyNested === '*';
51
52
  };
52
53
  /** - Helper function to check if a key matches a breakArray key. */
53
54
  const shouldBreakArray = (key) => {
54
- const transformedKey = transformKey(key);
55
+ const transformedKey = _transformKey(key);
55
56
  return Array.isArray(configs?.breakArray) ?
56
57
  configs.breakArray.includes(transformedKey)
57
58
  : configs?.breakArray === '*';
@@ -59,35 +60,45 @@ export const createControlledFormData = (data, configs) => {
59
60
  /** - Helper to clean object by removing null/undefined/empty values while respecting required keys */
60
61
  const _cleanObject = (obj, parentKey = '') => {
61
62
  return Object.entries(obj).reduce((acc, [key, value]) => {
62
- const transformedKey = transformKey(key);
63
+ const transformedKey = _transformKey(key);
63
64
  const fullKey = parentKey ? `${parentKey}.${transformedKey}` : transformedKey;
64
65
  // * Skip ignored keys (don't include them in the cleaned object)
65
66
  if (configs?.ignoreKeys?.includes(fullKey)) {
66
67
  return acc;
67
68
  }
69
+ const isNotNullish = value != null && value !== '';
68
70
  // * Keep value if:
69
71
  // * 1. It's required OR
70
- // * 2. It's not null/undefined AND not empty string/object
72
+ // * 2. It's not null/undefined AND not empty string/object/array
71
73
  const shouldKeep = isRequiredKey(fullKey) ||
72
- (value != null &&
73
- (typeof value !== 'string' || value !== '') &&
74
- (typeof value !== 'object' || !isEmptyObject(value)));
74
+ isNotNullish ||
75
+ isNonEmptyString(value) ||
76
+ isValidArray(value) ||
77
+ isNotEmptyObject(value);
75
78
  if (shouldKeep) {
76
- if (typeof value === 'object' &&
77
- value !== null &&
78
- !Array.isArray(value)) {
79
- // Recursively clean nested objects
79
+ if (isNotEmptyObject(value)) {
80
+ // * Recursively clean nested objects
80
81
  const cleaned = _cleanObject(value, fullKey);
81
- if (isRequiredKey(fullKey) || !isEmptyObject(cleaned)) {
82
- acc[transformKey(key)] = cleaned;
82
+ if (isRequiredKey(fullKey) || isNotEmptyObject(cleaned)) {
83
+ acc[transformedKey] = cleaned;
83
84
  }
84
85
  }
85
86
  else {
86
87
  if (typeof value === 'string') {
87
- acc[transformKey(key)] = value.toLowerCase();
88
+ acc[transformedKey] = value.toLowerCase();
89
+ }
90
+ else if (Array.isArray(value)) {
91
+ if (isRequiredKey(fullKey) || isValidArray(value)) {
92
+ acc[transformedKey] = value;
93
+ }
94
+ }
95
+ else if (isEmptyObject(value)) {
96
+ if (isRequiredKey(fullKey)) {
97
+ acc[transformedKey] = value;
98
+ }
88
99
  }
89
100
  else {
90
- acc[transformKey(key)] = value;
101
+ acc[transformedKey] = value;
91
102
  }
92
103
  }
93
104
  }
@@ -96,7 +107,7 @@ export const createControlledFormData = (data, configs) => {
96
107
  };
97
108
  /** * Helper function to add values to formData */
98
109
  const _addToFormData = (key, value) => {
99
- const transformedKey = transformKey(key);
110
+ const transformedKey = _transformKey(key);
100
111
  if (isCustomFileArray(value)) {
101
112
  value.forEach((file) => formData.append(transformedKey, file.originFileObj));
102
113
  }
@@ -116,23 +127,43 @@ export const createControlledFormData = (data, configs) => {
116
127
  else if (value instanceof Blob || value instanceof File) {
117
128
  formData.append(transformedKey, value);
118
129
  }
119
- else if (Array.isArray(value) && !isInvalidOrEmptyArray(value)) {
120
- if (shouldBreakArray(key)) {
121
- value.forEach((item, index) => {
122
- _addToFormData(`${transformedKey}[${index}]`, item);
123
- });
130
+ else if (isFileList(value)) {
131
+ for (let i = 0; i < value.length; i++) {
132
+ formData.append(transformedKey, value.item(i));
124
133
  }
125
- else {
134
+ }
135
+ else if (Array.isArray(value)) {
136
+ if (isFileArray(value)) {
137
+ if (shouldBreakArray(key)) {
138
+ value.forEach((item, index) => {
139
+ _addToFormData(`${transformedKey}[${index}]`, item);
140
+ });
141
+ }
142
+ else {
143
+ value.forEach((item) => {
144
+ formData.append(transformedKey, item);
145
+ });
146
+ }
147
+ }
148
+ else if (isValidArray(value)) {
149
+ if (shouldBreakArray(key)) {
150
+ value.forEach((item, index) => {
151
+ _addToFormData(`${transformedKey}[${index}]`, item);
152
+ });
153
+ }
154
+ else {
155
+ formData.append(transformedKey, JSON.stringify(value));
156
+ }
157
+ }
158
+ else if (isRequiredKey(key)) {
126
159
  formData.append(transformedKey, JSON.stringify(value));
127
160
  }
128
161
  }
129
- else if (typeof value === 'object' &&
130
- value !== null &&
131
- !isEmptyObject(value)) {
162
+ else if (isNotEmptyObject(value)) {
132
163
  if (shouldStringify(key) && !shouldDotNotate(key)) {
133
- // Clean object before stringifying, preserving required keys
164
+ // * Clean object before stringifying, preserving required keys
134
165
  const cleanedValue = _cleanObject(value, key);
135
- if (!isEmptyObject(cleanedValue) || isRequiredKey(key)) {
166
+ if (isNotEmptyObject(cleanedValue) || isRequiredKey(key)) {
136
167
  formData.append(transformedKey, JSON.stringify(cleanedValue));
137
168
  }
138
169
  }
@@ -157,33 +188,48 @@ export const createControlledFormData = (data, configs) => {
157
188
  /** - Helper to process object */
158
189
  const _processObject = (obj, parentKey = '') => {
159
190
  Object.entries(obj).forEach(([key, value]) => {
160
- const transformedKey = transformKey(key);
191
+ const transformedKey = _transformKey(key);
161
192
  const fullKey = parentKey ? `${parentKey}.${transformedKey}` : transformedKey;
162
- // Skip keys that are in ignoreKeys
193
+ // * Skip keys that are in ignoreKeys
163
194
  if (configs?.ignoreKeys?.includes(fullKey))
164
195
  return;
165
- // Trim string values if trimStrings is enabled
196
+ // * Trim string values if trimStrings is enabled
166
197
  if (configs?.trimStrings && typeof value === 'string') {
167
198
  value = value.trim();
168
199
  }
169
- // Check if this key is preserved
200
+ // * Check if this key is preserved as dot-notation
170
201
  if (shouldDotNotate(fullKey)) {
171
- // If it's a preserved path, append the value directly
172
202
  _addToFormData(fullKey, value);
173
203
  }
174
- else if (typeof value === 'object' &&
175
- !Array.isArray(value) &&
176
- value !== null &&
177
- !shouldStringify(fullKey)) {
178
- // Process nested objects
204
+ else if (isNotEmptyObject(value) && !shouldStringify(fullKey)) {
205
+ // * Process nested objects
179
206
  _processObject(value, key);
180
207
  }
208
+ else if (isEmptyObject(value)) {
209
+ if (isRequiredKey(fullKey)) {
210
+ _addToFormData(key, JSON.stringify(value));
211
+ }
212
+ }
213
+ // else if (Array.isArray(value) && value.every(isNotEmptyObject)) {
214
+ // if (shouldDotNotate(fullKey)) {
215
+ // value.forEach((item, index) =>
216
+ // _addToFormData(`${fullKey}[${index}]`, item),
217
+ // );
218
+ // } else if (shouldStringify(fullKey)) {
219
+ // _addToFormData(
220
+ // key,
221
+ // value.map((item) => _processObject(item, parentKey)),
222
+ // );
223
+ // }
224
+ // }
181
225
  else {
182
- // For other cases, just append as key-value
226
+ // * For other cases, just append as key-value
183
227
  _addToFormData(key, value);
184
228
  }
185
229
  });
186
230
  };
187
- _processObject(data);
231
+ if (isNotEmptyObject(data)) {
232
+ _processObject(data);
233
+ }
188
234
  return formData;
189
235
  };
@@ -23,6 +23,18 @@ export declare function isCustomFile(value: unknown): value is CustomFile;
23
23
  * @returns `true` if the value is a valid `CustomFile[]`, otherwise `false`.
24
24
  */
25
25
  export declare function isCustomFileArray(value: unknown): value is CustomFile[];
26
+ /**
27
+ * * Checks if a given value is an array of `File` objects.
28
+ * @param value - The value to check.
29
+ * @returns `true` if the value is a valid `File[]`, otherwise `false`.
30
+ */
31
+ export declare function isFileArray(value: unknown): value is File[];
32
+ /**
33
+ * * Checks if a given value is an instance of `FileList`.
34
+ * @param value - The value to check.
35
+ * @returns `true` if the value is a valid `FileList`, otherwise `false`.
36
+ */
37
+ export declare function isFileList(value: unknown): value is FileList;
26
38
  /**
27
39
  * * Checks if a given value is a `FileUpload` object.
28
40
  * @param value - The value to check.
@@ -1 +1 @@
1
- {"version":3,"file":"guards.d.ts","sourceRoot":"","sources":["../../src/form/guards.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAErE;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,QAAQ,CAajE;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,aAAa,CAQtE;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,UAAU,CAQhE;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,UAAU,EAAE,CAIvE;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,UAAU,CAWhE"}
1
+ {"version":3,"file":"guards.d.ts","sourceRoot":"","sources":["../../src/form/guards.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAErE;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,QAAQ,CAajE;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,aAAa,CAQtE;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,UAAU,CAQhE;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,UAAU,EAAE,CAIvE;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,IAAI,EAAE,CAM3D;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,QAAQ,CAE5D;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,UAAU,CAWhE"}
@@ -47,6 +47,24 @@ export function isCustomFile(value) {
47
47
  export function isCustomFileArray(value) {
48
48
  return (Array.isArray(value) && value.length > 0 && value.every(isCustomFile));
49
49
  }
50
+ /**
51
+ * * Checks if a given value is an array of `File` objects.
52
+ * @param value - The value to check.
53
+ * @returns `true` if the value is a valid `File[]`, otherwise `false`.
54
+ */
55
+ export function isFileArray(value) {
56
+ return (Array.isArray(value) &&
57
+ value.length > 0 &&
58
+ value.every((v) => v instanceof File));
59
+ }
60
+ /**
61
+ * * Checks if a given value is an instance of `FileList`.
62
+ * @param value - The value to check.
63
+ * @returns `true` if the value is a valid `FileList`, otherwise `false`.
64
+ */
65
+ export function isFileList(value) {
66
+ return typeof FileList !== 'undefined' && value instanceof FileList;
67
+ }
50
68
  /**
51
69
  * * Checks if a given value is a `FileUpload` object.
52
70
  * @param value - The value to check.
@@ -1,30 +1,42 @@
1
1
  import type { AsyncFunction, GenericFn } from '../types';
2
2
  /**
3
- * Type guard to check if a value is an array.
3
+ * * Type guard to check if a value is an array.
4
4
  * @param value - The value to check.
5
5
  * @returns `true` if the value is an array, otherwise `false`.
6
6
  */
7
7
  export declare function isArray<T>(value: unknown): value is Array<T>;
8
8
  /**
9
- * Type guard to check if a value is an object (excluding null).
9
+ * * Type guard to check if a value is an array with length.
10
+ * @param value - The value to check.
11
+ * @returns `true` if the value is an array with length, otherwise `false`.
12
+ */
13
+ export declare function isValidArray<T>(value: unknown): value is Array<T>;
14
+ /**
15
+ * * Type guard to check if a value is an object (excluding null).
10
16
  * @param value - The value to check.
11
17
  * @returns `true` if the value is an object, otherwise `false`.
12
18
  */
13
19
  export declare function isObject(value: unknown): value is Record<string, unknown>;
14
20
  /**
15
- * Type guard to check if a value is a function.
21
+ * * Type guard to check if a value is an object (excluding null) and has keys in it.
22
+ * @param value - The value to check.
23
+ * @returns `true` if the value is an object with valid keys, otherwise `false`.
24
+ */
25
+ export declare function isNotEmptyObject(value: unknown): value is Record<string, unknown>;
26
+ /**
27
+ * * Type guard to check if a value is a function.
16
28
  * @param value - The value to check.
17
29
  * @returns `true` if the value is a function, otherwise `false`.
18
30
  */
19
31
  export declare function isFunction(value: unknown): value is GenericFn;
20
32
  /**
21
- * Type guard to check if a value is a Date object.
33
+ * * Type guard to check if a value is a Date object.
22
34
  * @param value - The value to check.
23
35
  * @returns `true` if the value is a Date object, otherwise `false`.
24
36
  */
25
37
  export declare function isDate(value: unknown): value is Date;
26
38
  /**
27
- * Type guard to check if a value is an object with specific keys.
39
+ * * Type guard to check if a value is an object with specific keys.
28
40
  * @param value - The value to check.
29
41
  * @param keys - The set of keys the object should contain.
30
42
  * @returns `true` if the value is an object with the specified keys, otherwise `false`.
@@ -1 +1 @@
1
- {"version":3,"file":"non-primitives.d.ts","sourceRoot":"","sources":["../../src/guards/non-primitives.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAGzD;;;;GAIG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC,CAE5D;AAED;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAEzE;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,SAAS,CAE7D;AAED;;;;GAIG;AACH,wBAAgB,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,IAAI,CAEpD;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACjE,KAAK,EAAE,OAAO,EACd,IAAI,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,GACf,KAAK,IAAI,CAAC,CAEZ;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAC5B,KAAK,EAAE,OAAO,GACZ,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAElC;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAC9B,KAAK,EAAE,OAAO,EACd,SAAS,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,IAAI,CAAC,GACrC,KAAK,IAAI,CAAC,EAAE,CAEd;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,OAAO,CAAC,OAAO,CAAC,CAEnE;AAED;;;;GAIG;AACH,wBAAgB,KAAK,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,GAAG,CAAC,CAAC,CAAC,CAExD;AAED;;;;GAIG;AACH,wBAAgB,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAE9D;AAED;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAExD;AAED;;;;GAIG;AACH,wBAAgB,OAAO,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,KAAK,CAEtD;AAED;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAExD;AAED;;;;GAIG;AACH,wBAAgB,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAStD;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,EAAE,EAAE,OAAO,GAAG,EAAE,IAAI,aAAa,CAAC,CAAC,CAAC,CAEzE"}
1
+ {"version":3,"file":"non-primitives.d.ts","sourceRoot":"","sources":["../../src/guards/non-primitives.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAGzD;;;;GAIG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC,CAE5D;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC,CAEjE;AAED;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAEzE;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC/B,KAAK,EAAE,OAAO,GACZ,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAElC;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,SAAS,CAE7D;AAED;;;;GAIG;AACH,wBAAgB,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,IAAI,CAEpD;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACjE,KAAK,EAAE,OAAO,EACd,IAAI,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,GACf,KAAK,IAAI,CAAC,CAEZ;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAC5B,KAAK,EAAE,OAAO,GACZ,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAElC;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAC9B,KAAK,EAAE,OAAO,EACd,SAAS,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,IAAI,CAAC,GACrC,KAAK,IAAI,CAAC,EAAE,CAEd;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,OAAO,CAAC,OAAO,CAAC,CAEnE;AAED;;;;GAIG;AACH,wBAAgB,KAAK,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,GAAG,CAAC,CAAC,CAAC,CAExD;AAED;;;;GAIG;AACH,wBAAgB,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAE9D;AAED;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAExD;AAED;;;;GAIG;AACH,wBAAgB,OAAO,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,KAAK,CAEtD;AAED;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAExD;AAED;;;;GAIG;AACH,wBAAgB,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAStD;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,EAAE,EAAE,OAAO,GAAG,EAAE,IAAI,aAAa,CAAC,CAAC,CAAC,CAEzE"}
@@ -1,6 +1,6 @@
1
1
  import { isString } from './primitives';
2
2
  /**
3
- * Type guard to check if a value is an array.
3
+ * * Type guard to check if a value is an array.
4
4
  * @param value - The value to check.
5
5
  * @returns `true` if the value is an array, otherwise `false`.
6
6
  */
@@ -8,7 +8,15 @@ export function isArray(value) {
8
8
  return Array.isArray(value);
9
9
  }
10
10
  /**
11
- * Type guard to check if a value is an object (excluding null).
11
+ * * Type guard to check if a value is an array with length.
12
+ * @param value - The value to check.
13
+ * @returns `true` if the value is an array with length, otherwise `false`.
14
+ */
15
+ export function isValidArray(value) {
16
+ return Array.isArray(value) && value.length > 0;
17
+ }
18
+ /**
19
+ * * Type guard to check if a value is an object (excluding null).
12
20
  * @param value - The value to check.
13
21
  * @returns `true` if the value is an object, otherwise `false`.
14
22
  */
@@ -16,7 +24,15 @@ export function isObject(value) {
16
24
  return value !== null && typeof value === 'object' && !isArray(value);
17
25
  }
18
26
  /**
19
- * Type guard to check if a value is a function.
27
+ * * Type guard to check if a value is an object (excluding null) and has keys in it.
28
+ * @param value - The value to check.
29
+ * @returns `true` if the value is an object with valid keys, otherwise `false`.
30
+ */
31
+ export function isNotEmptyObject(value) {
32
+ return isObject(value) && Object.keys(value).length > 0;
33
+ }
34
+ /**
35
+ * * Type guard to check if a value is a function.
20
36
  * @param value - The value to check.
21
37
  * @returns `true` if the value is a function, otherwise `false`.
22
38
  */
@@ -24,7 +40,7 @@ export function isFunction(value) {
24
40
  return typeof value === 'function';
25
41
  }
26
42
  /**
27
- * Type guard to check if a value is a Date object.
43
+ * * Type guard to check if a value is a Date object.
28
44
  * @param value - The value to check.
29
45
  * @returns `true` if the value is a Date object, otherwise `false`.
30
46
  */
@@ -32,7 +48,7 @@ export function isDate(value) {
32
48
  return value instanceof Date;
33
49
  }
34
50
  /**
35
- * Type guard to check if a value is an object with specific keys.
51
+ * * Type guard to check if a value is an object with specific keys.
36
52
  * @param value - The value to check.
37
53
  * @param keys - The set of keys the object should contain.
38
54
  * @returns `true` if the value is an object with the specified keys, otherwise `false`.
@@ -77,7 +77,7 @@ export function isPrimitive(value) {
77
77
  * @returns `true` if the value is a non-empty string, otherwise `false`.
78
78
  */
79
79
  export function isNonEmptyString(value) {
80
- return isString(value) && value?.trim().length > 0;
80
+ return isString(value) && value?.length > 0;
81
81
  }
82
82
  /**
83
83
  * * Type guard to check if a value is falsy.
package/dist/index.d.ts CHANGED
@@ -15,13 +15,13 @@ export { filterArrayOfObjects, flattenArray, getLastArrayElement, isInvalidOrEmp
15
15
  export { sortAnArray } from './array/sort';
16
16
  export { createOptionsArray, removeDuplicatesFromArray, } from './array/transform';
17
17
  export { createControlledFormData as convertIntoFormData, createControlledFormData, } from './form/convert';
18
- export { isCustomFile, isCustomFileArray, isFileUpload, isOriginFileObj, isValidFormData, } from './form/guards';
19
- export { cloneObject, countObjectFields, generateQueryParams, isEmptyObject, isObject, } from './object/basics';
18
+ export { isCustomFile, isCustomFileArray, isFileUpload, isOriginFileObj, isValidFormData, isFileArray, isFileList, } from './form/guards';
19
+ export { cloneObject, countObjectFields, generateQueryParams, } from './object/basics';
20
20
  export { extractNewFields, extractUpdatedAndNewFields, extractUpdatedFields, flattenObjectDotNotation, flattenObjectKeyValue, mergeAndFlattenObjects, mergeObjects, } from './object/objectify';
21
21
  export { sanitizeData } from './object/sanitize';
22
22
  export { convertObjectValues } from './object/convert';
23
23
  export { convertArrayToString, debounceAction, isDeepEqual, throttleAction, } from './utils';
24
24
  export { isBoolean, isFalsy, isInteger, isNonEmptyString, isNull, isNumber, isPositiveInteger, isPrimitive, isString, isSymbol, isTruthy, isUndefined, } from './guards/primitives';
25
- export { isReturningPromise as doesReturnPromise, isArray, isArrayOfType, isBigInt, isDate, isEmptyObject as isEmptyObjectGuard, isError, isFunction, isJSON, isJSON as isJSONObject, isMap, isEmptyObject as isObjectEmpty, isObjectWithKeys, isPromise, isRegExp, isRegExp as isRegularExpression, isReturningPromise, isSet, isJSON as isValidJSON, isMap as isValidMap, isObject as isValidObject, isSet as isValidSet, } from './guards/non-primitives';
25
+ export { isReturningPromise as doesReturnPromise, isArray, isArrayOfType, isValidArray as isArrayWithLength, isBigInt, isDate, isEmptyObject, isEmptyObject as isEmptyObjectGuard, isError, isFunction, isJSON, isJSON as isJSONObject, isMap, isNotEmptyObject, isObject, isEmptyObject as isObjectEmpty, isObjectWithKeys, isPromise, isRegExp, isRegExp as isRegularExpression, isReturningPromise, isSet, isValidArray, isJSON as isValidJSON, isMap as isValidMap, isNotEmptyObject as isValidObject, isSet as isValidSet, } from './guards/non-primitives';
26
26
  export { isBase64, isBrowser, isDateString, isEmail, isEmailArray, isEnvironment, isEnvironment as isExpectedNodeENV, isIPAddress, isNode, isEnvironment as isNodeENV, isEnvironment as isNodeEnvironment, isNumericString, isPhoneNumber, isURL, isUUID, isEmail as isValidEmail, isURL as isValidURL, } from './guards/specials';
27
27
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EACN,gBAAgB,EAChB,gBAAgB,EAChB,UAAU,EACV,cAAc,GACd,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEpD,OAAO,EACN,iBAAiB,EACjB,UAAU,EACV,kBAAkB,EAClB,aAAa,EACb,aAAa,GACb,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACN,wBAAwB,EACxB,sBAAsB,EACtB,YAAY,EACZ,sBAAsB,IAAI,mBAAmB,GAC7C,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EACN,YAAY,IAAI,YAAY,EAC5B,YAAY,EACZ,YAAY,IAAI,YAAY,EAC5B,YAAY,EACZ,gBAAgB,EAChB,eAAe,EACf,MAAM,EACN,MAAM,IAAI,YAAY,EACtB,UAAU,EACV,KAAK,EACL,KAAK,IAAI,WAAW,GACpB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACN,aAAa,IAAI,oBAAoB,EACrC,sBAAsB,EACtB,aAAa,GACb,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACN,gBAAgB,EAChB,OAAO,EACP,OAAO,IAAI,aAAa,GACxB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACN,WAAW,EACX,cAAc,IAAI,uBAAuB,EACzC,cAAc,EACd,cAAc,IAAI,gBAAgB,EAClC,cAAc,EACd,cAAc,IAAI,WAAW,EAC7B,cAAc,IAAI,4BAA4B,EAC9C,cAAc,EACd,cAAc,IAAI,sBAAsB,GACxC,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAGnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAEvD,OAAO,EACN,2BAA2B,EAC3B,sBAAsB,GACtB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACN,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,gBAAgB,GAChB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,KAAK,EAAE,KAAK,IAAI,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAGxD,OAAO,EACN,oBAAoB,EACpB,YAAY,EACZ,mBAAmB,EACnB,qBAAqB,EACrB,qBAAqB,IAAI,iBAAiB,EAC1C,YAAY,GACZ,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C,OAAO,EACN,kBAAkB,EAClB,yBAAyB,GACzB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EACN,wBAAwB,IAAI,mBAAmB,EAC/C,wBAAwB,GACxB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACN,YAAY,EACZ,iBAAiB,EACjB,YAAY,EACZ,eAAe,EACf,eAAe,EACf,WAAW,EACX,UAAU,GACV,MAAM,eAAe,CAAC;AAGvB,OAAO,EACN,WAAW,EACX,iBAAiB,EACjB,mBAAmB,GACnB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACN,gBAAgB,EAChB,0BAA0B,EAC1B,oBAAoB,EACpB,wBAAwB,EACxB,qBAAqB,EACrB,sBAAsB,EACtB,YAAY,GACZ,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAGvD,OAAO,EACN,oBAAoB,EACpB,cAAc,EACd,WAAW,EACX,cAAc,GACd,MAAM,SAAS,CAAC;AAGjB,OAAO,EACN,SAAS,EACT,OAAO,EACP,SAAS,EACT,gBAAgB,EAChB,MAAM,EACN,QAAQ,EACR,iBAAiB,EACjB,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,WAAW,GACX,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EACN,kBAAkB,IAAI,iBAAiB,EACvC,OAAO,EACP,aAAa,EACb,YAAY,IAAI,iBAAiB,EACjC,QAAQ,EACR,MAAM,EACN,aAAa,EACb,aAAa,IAAI,kBAAkB,EACnC,OAAO,EACP,UAAU,EACV,MAAM,EACN,MAAM,IAAI,YAAY,EACtB,KAAK,EACL,gBAAgB,EAChB,QAAQ,EACR,aAAa,IAAI,aAAa,EAC9B,gBAAgB,EAChB,SAAS,EACT,QAAQ,EACR,QAAQ,IAAI,mBAAmB,EAC/B,kBAAkB,EAClB,KAAK,EACL,YAAY,EACZ,MAAM,IAAI,WAAW,EACrB,KAAK,IAAI,UAAU,EACnB,gBAAgB,IAAI,aAAa,EACjC,KAAK,IAAI,UAAU,GACnB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EACN,QAAQ,EACR,SAAS,EACT,YAAY,EACZ,OAAO,EACP,YAAY,EACZ,aAAa,EACb,aAAa,IAAI,iBAAiB,EAClC,WAAW,EACX,MAAM,EACN,aAAa,IAAI,SAAS,EAC1B,aAAa,IAAI,iBAAiB,EAClC,eAAe,EACf,aAAa,EACb,KAAK,EACL,MAAM,EACN,OAAO,IAAI,YAAY,EACvB,KAAK,IAAI,UAAU,GACnB,MAAM,mBAAmB,CAAC"}
package/dist/index.js CHANGED
@@ -20,9 +20,9 @@ export { sortAnArray } from './array/sort';
20
20
  export { createOptionsArray, removeDuplicatesFromArray, } from './array/transform';
21
21
  // ! Form Utilities
22
22
  export { createControlledFormData as convertIntoFormData, createControlledFormData, } from './form/convert';
23
- export { isCustomFile, isCustomFileArray, isFileUpload, isOriginFileObj, isValidFormData, } from './form/guards';
23
+ export { isCustomFile, isCustomFileArray, isFileUpload, isOriginFileObj, isValidFormData, isFileArray, isFileList, } from './form/guards';
24
24
  // ! Object Utilities
25
- export { cloneObject, countObjectFields, generateQueryParams, isEmptyObject, isObject, } from './object/basics';
25
+ export { cloneObject, countObjectFields, generateQueryParams, } from './object/basics';
26
26
  export { extractNewFields, extractUpdatedAndNewFields, extractUpdatedFields, flattenObjectDotNotation, flattenObjectKeyValue, mergeAndFlattenObjects, mergeObjects, } from './object/objectify';
27
27
  export { sanitizeData } from './object/sanitize';
28
28
  export { convertObjectValues } from './object/convert';
@@ -31,6 +31,6 @@ export { convertArrayToString, debounceAction, isDeepEqual, throttleAction, } fr
31
31
  // ! Primitive Type Guards
32
32
  export { isBoolean, isFalsy, isInteger, isNonEmptyString, isNull, isNumber, isPositiveInteger, isPrimitive, isString, isSymbol, isTruthy, isUndefined, } from './guards/primitives';
33
33
  // ! Non-Primitive Type Guards
34
- export { isReturningPromise as doesReturnPromise, isArray, isArrayOfType, isBigInt, isDate, isEmptyObject as isEmptyObjectGuard, isError, isFunction, isJSON, isJSON as isJSONObject, isMap, isEmptyObject as isObjectEmpty, isObjectWithKeys, isPromise, isRegExp, isRegExp as isRegularExpression, isReturningPromise, isSet, isJSON as isValidJSON, isMap as isValidMap, isObject as isValidObject, isSet as isValidSet, } from './guards/non-primitives';
34
+ export { isReturningPromise as doesReturnPromise, isArray, isArrayOfType, isValidArray as isArrayWithLength, isBigInt, isDate, isEmptyObject, isEmptyObject as isEmptyObjectGuard, isError, isFunction, isJSON, isJSON as isJSONObject, isMap, isNotEmptyObject, isObject, isEmptyObject as isObjectEmpty, isObjectWithKeys, isPromise, isRegExp, isRegExp as isRegularExpression, isReturningPromise, isSet, isValidArray, isJSON as isValidJSON, isMap as isValidMap, isNotEmptyObject as isValidObject, isSet as isValidSet, } from './guards/non-primitives';
35
35
  // ! Special Type Guards
36
36
  export { isBase64, isBrowser, isDateString, isEmail, isEmailArray, isEnvironment, isEnvironment as isExpectedNodeENV, isIPAddress, isNode, isEnvironment as isNodeENV, isEnvironment as isNodeEnvironment, isNumericString, isPhoneNumber, isURL, isUUID, isEmail as isValidEmail, isURL as isValidURL, } from './guards/specials';
@@ -21,13 +21,6 @@ export declare const generateQueryParams: <T extends QueryObject>(params?: T) =>
21
21
  * @returns Deep cloned object.
22
22
  */
23
23
  export declare const cloneObject: <T extends GenericObject>(obj: T) => T;
24
- /**
25
- * * Check if an object is empty.
26
- *
27
- * @param obj Object to check.
28
- * @returns Whether the object is empty.
29
- */
30
- export declare const isEmptyObject: <T extends GenericObject>(obj: T) => boolean;
31
24
  /**
32
25
  * * Count the number of fields in an object.
33
26
  *
@@ -35,11 +28,4 @@ export declare const isEmptyObject: <T extends GenericObject>(obj: T) => boolean
35
28
  * @returns Number of fields in the object.
36
29
  */
37
30
  export declare const countObjectFields: <T extends GenericObject>(obj: T) => number;
38
- /**
39
- * * Check whether data is object and not array.
40
- *
41
- * @param data Data to check if its an object and not array.
42
- * @returns Boolean: `true` if it's an object, `false` if not.
43
- */
44
- export declare const isObject: (data: unknown) => boolean;
45
31
  //# sourceMappingURL=basics.d.ts.map
@@ -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,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,iBAAiB,GAAI,CAAC,SAAS,aAAa,OAAO,CAAC,KAAG,MAInE,CAAC"}
@@ -40,17 +40,6 @@ export const generateQueryParams = (params = {}) => {
40
40
  export const cloneObject = (obj) => {
41
41
  return JSON.parse(JSON.stringify(obj));
42
42
  };
43
- /**
44
- * * Check if an object is empty.
45
- *
46
- * @param obj Object to check.
47
- * @returns Whether the object is empty.
48
- */
49
- export const isEmptyObject = (obj) => {
50
- if (obj != null)
51
- return countObjectFields(obj) === 0;
52
- return false;
53
- };
54
43
  /**
55
44
  * * Count the number of fields in an object.
56
45
  *
@@ -62,12 +51,3 @@ export const countObjectFields = (obj) => {
62
51
  return Object.keys(obj).length;
63
52
  return 0;
64
53
  };
65
- /**
66
- * * Check whether data is object and not array.
67
- *
68
- * @param data Data to check if its an object and not array.
69
- * @returns Boolean: `true` if it's an object, `false` if not.
70
- */
71
- export const isObject = (data) => {
72
- return typeof data === 'object' && !Array.isArray(data);
73
- };
@@ -1 +1 @@
1
- {"version":3,"file":"objectify.d.ts","sourceRoot":"","sources":["../../src/object/objectify.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAmB,MAAM,UAAU,CAAC;AAGhE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAE7C;;;;;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,aAAa,UACpD,CAAC,KACP,CAmBF,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB,GAAI,CAAC,SAAS,aAAa,UACvD,CAAC,KACP,aAkCF,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB,GAAI,CAAC,SAAS,aAAa,cAC/C,CAAC,iBACE,cAAc,CAAC,CAAC,CAAC,KAC9B,cAAc,CAAC,CAAC,CAwBlB,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB,GAC5B,CAAC,SAAS,aAAa,EACvB,CAAC,SAAS,aAAa,cAEX,CAAC,iBACE,cAAc,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,KAClD,cAAc,CAAC,CAAC,CAsBlB,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,0BAA0B,GACtC,CAAC,SAAS,aAAa,EACvB,CAAC,SAAS,aAAa,cAEX,CAAC,iBACE,cAAc,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,KAClD,cAAc,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC,CAwBtC,CAAC"}
1
+ {"version":3,"file":"objectify.d.ts","sourceRoot":"","sources":["../../src/object/objectify.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAmB,MAAM,UAAU,CAAC;AAEhE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAE7C;;;;;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,aAAa,UACpD,CAAC,KACP,CAmBF,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB,GAAI,CAAC,SAAS,aAAa,UACvD,CAAC,KACP,aAkCF,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB,GAAI,CAAC,SAAS,aAAa,cAC/C,CAAC,iBACE,cAAc,CAAC,CAAC,CAAC,KAC9B,cAAc,CAAC,CAAC,CAwBlB,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB,GAC5B,CAAC,SAAS,aAAa,EACvB,CAAC,SAAS,aAAa,cAEX,CAAC,iBACE,cAAc,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,KAClD,cAAc,CAAC,CAAC,CAyBlB,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,0BAA0B,GACtC,CAAC,SAAS,aAAa,EACvB,CAAC,SAAS,aAAa,cAEX,CAAC,iBACE,cAAc,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,KAClD,cAAc,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC,CAwBtC,CAAC"}
@@ -1,5 +1,5 @@
1
+ import { isEmptyObject, isNotEmptyObject } from '../guards/non-primitives';
1
2
  import { isDeepEqual } from '../utils';
2
- import { isEmptyObject, isObject } from './basics';
3
3
  /**
4
4
  * * Deeply merge two or more objects using `Map`.
5
5
  *
@@ -136,7 +136,7 @@ export const extractUpdatedFields = (baseObject, updatedObject) => {
136
136
  for (const key in updatedObject) {
137
137
  if (key in baseObject &&
138
138
  !isDeepEqual(updatedObject[key], baseObject[key])) {
139
- if (updatedObject[key] && isObject(updatedObject[key])) {
139
+ if (updatedObject[key] && isNotEmptyObject(updatedObject[key])) {
140
140
  updatedFields[key] = extractUpdatedFields(baseObject[key], updatedObject[key]);
141
141
  if (updatedFields[key] && isEmptyObject(updatedFields[key])) {
142
142
  delete updatedFields[key];
@@ -163,10 +163,11 @@ export const extractNewFields = (baseObject, updatedObject) => {
163
163
  // Directly assign new fields
164
164
  newFields[key] = updatedObject[key];
165
165
  }
166
- else if (isObject(updatedObject[key]) && isObject(baseObject[key])) {
166
+ else if (isNotEmptyObject(updatedObject[key]) &&
167
+ isNotEmptyObject(baseObject[key])) {
167
168
  // Recursively extract new fields inside nested objects
168
169
  const nestedNewFields = extractNewFields(baseObject[key], updatedObject[key]);
169
- if (!isEmptyObject(nestedNewFields)) {
170
+ if (isNotEmptyObject(nestedNewFields)) {
170
171
  newFields[key] =
171
172
  nestedNewFields;
172
173
  }
@@ -189,7 +190,7 @@ export const extractUpdatedAndNewFields = (baseObject, updatedObject) => {
189
190
  newFields[key] = updatedObject[key];
190
191
  }
191
192
  else if (!isDeepEqual(updatedObject[key], baseObject[key])) {
192
- if (updatedObject[key] && isObject(updatedObject[key])) {
193
+ if (updatedObject[key] && isNotEmptyObject(updatedObject[key])) {
193
194
  updatedFields[key] = extractUpdatedAndNewFields(baseObject[key], updatedObject[key]);
194
195
  if (updatedFields[key] && isEmptyObject(updatedFields[key])) {
195
196
  delete updatedFields[key];
@@ -1 +1 @@
1
- {"version":3,"file":"sanitize.d.ts","sourceRoot":"","sources":["../../src/object/sanitize.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE/C,OAAO,KAAK,EAAkB,aAAa,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE9E;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,CAAC,SAAS,aAAa,EACnD,MAAM,EAAE,CAAC,EACT,OAAO,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,GAC1B,cAAc,CAAC,CAAC,CAAC,CAAC;AAErB;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,CAAC,SAAS,aAAa,EACnD,KAAK,EAAE,CAAC,EAAE,EACV,OAAO,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,GAC1B,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC;AAEvB;;;;;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,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC/C,OAAO,KAAK,EAAkB,aAAa,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE9E;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,CAAC,SAAS,aAAa,EACnD,MAAM,EAAE,CAAC,EACT,OAAO,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,GAC1B,cAAc,CAAC,CAAC,CAAC,CAAC;AAErB;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,CAAC,SAAS,aAAa,EACnD,KAAK,EAAE,CAAC,EAAE,EACV,OAAO,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,GAC1B,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC;AAEvB;;;;;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,5 +1,5 @@
1
+ import { isNotEmptyObject } from '../guards/non-primitives';
1
2
  import { trimString } from '../string/basics';
2
- import { isEmptyObject } from './basics';
3
3
  /**
4
4
  * * Sanitizes a string, array of strings, an object or array of objects by ignoring specified keys and trimming string values.
5
5
  * * Also excludes nullish values (null, undefined) if specified. Always ignores empty nested object(s).
@@ -39,7 +39,7 @@ export function sanitizeData(input, options) {
39
39
  // Recursively process nested objects
40
40
  const processedValue = _processObject(value, fullKeyPath);
41
41
  // Only add the property if it's not an empty object
42
- if (!isEmptyObject(processedValue)) {
42
+ if (isNotEmptyObject(processedValue)) {
43
43
  acc[key] = processedValue;
44
44
  }
45
45
  }
@@ -62,7 +62,7 @@ export function sanitizeData(input, options) {
62
62
  // Process array of objects
63
63
  return input
64
64
  .map((obj) => _processObject(obj))
65
- .filter((obj) => !isEmptyObject(obj));
65
+ .filter((obj) => isNotEmptyObject(obj));
66
66
  }
67
67
  // Process object
68
68
  if (typeof input === 'object' && input !== null) {
@@ -1,6 +1,6 @@
1
- import type { Primitive } from '../types';
1
+ import type { AdvancedTypes, Primitive } from '../types';
2
2
  /** - Generic object with `unknown` value */
3
- export type GenericObjectStrict = Record<string, unknown>;
3
+ export type StrictObject = Record<string, unknown>;
4
4
  /** - Generic object but with `any` value */
5
5
  export type GenericObject = Record<string, any>;
6
6
  /**
@@ -17,29 +17,29 @@ export type QueryObject = {
17
17
  };
18
18
  /** - Object type with string or number or boolean as value for each key. */
19
19
  export type GenericObjectPrimitive = Record<string, string | number | boolean>;
20
- /** - Dot-notation keys for nested objects */
21
- export type DotNotationKeyStrict<T> = T extends unknown[] ? never : T extends GenericObjectStrict ? {
22
- [K in keyof T & string]: T[K] extends GenericObjectStrict ? `${K}` | `${K}.${DotNotationKeyStrict<T[K]>}` : `${K}`;
20
+ /** - Dot-notation keys for nested objects with unknown value (including optional properties) */
21
+ export type DotNotationKeyStrict<T> = T extends AdvancedTypes ? never : T extends StrictObject ? {
22
+ [K in keyof T & string]: NonNullable<T[K]> extends StrictObject ? `${K}` | `${K}.${DotNotationKey<NonNullable<T[K]>>}` : `${K}`;
23
23
  }[keyof T & string] : never;
24
- /** - Dot-notation keys for nested objects (including optional properties) */
25
- export type DotNotationKey<T> = T extends unknown[] ? never : T extends GenericObject ? {
24
+ /** - Dot-notation keys for nested objects with `any` value (including optional properties) */
25
+ export type DotNotationKey<T> = T extends AdvancedTypes ? never : T extends GenericObject ? {
26
26
  [K in keyof T & string]: NonNullable<T[K]> extends GenericObject ? `${K}` | `${K}.${DotNotationKey<NonNullable<T[K]>>}` : `${K}`;
27
27
  }[keyof T & string] : never;
28
- /** - Dot-notation keys where the value is an array (including optional properties) */
28
+ /** - Object keys where the value is an array (including optional properties) */
29
29
  export type KeyForArray<T> = T extends GenericObject ? {
30
- [K in keyof T & string]: NonNullable<T[K]> extends unknown[] ? K : never;
30
+ [K in keyof T & string]: NonNullable<T[K]> extends Array<unknown> ? K : never;
31
31
  }[keyof T & string] : never;
32
- /** - Dot-notation keys where the value is a non-array object (including optional properties) */
32
+ /** - Object keys where the value is a non-array object (including optional properties) */
33
33
  export type KeyForObject<T> = T extends GenericObject ? {
34
- [K in keyof T & string]: NonNullable<T[K]> extends GenericObject ? NonNullable<T[K]> extends unknown[] ? never : K : never;
34
+ [K in keyof T & string]: NonNullable<T[K]> extends GenericObject ? NonNullable<T[K]> extends Array<unknown> ? never : K : never;
35
35
  }[keyof T & string] : never;
36
36
  /** - Extract only keys with string values from an object, including nested dot-notation keys. */
37
- export type NestedKeyString<T> = T extends GenericObject ? {
38
- [K in keyof T & string]: T[K] extends unknown[] ? never : T[K] extends string ? K : T[K] extends GenericObject ? `${K}.${NestedKeyString<T[K]>}` extends infer R ? R extends string ? R : never : never : never;
37
+ export type NestedKeyString<T> = T extends AdvancedTypes ? never : T extends GenericObject ? {
38
+ [K in keyof T & string]: NonNullable<T[K]> extends string ? K : NonNullable<T[K]> extends GenericObject ? `${K}.${NestedKeyString<NonNullable<T[K]>>}` : never;
39
39
  }[keyof T & string] : never;
40
40
  /** - Extract only primitive keys from an object, including nested dot-notation keys. */
41
41
  export type NestedPrimitiveKey<T> = T extends GenericObject ? {
42
- [K in keyof T & string]: T[K] extends Primitive ? K : T[K] extends GenericObject ? `${K}.${NestedPrimitiveKey<T[K]>}` : never;
42
+ [K in keyof T & string]: NonNullable<T[K]> extends Primitive ? K : NonNullable<T[K]> extends GenericObject ? `${K}.${NestedPrimitiveKey<NonNullable<T[K]>>}` : never;
43
43
  }[keyof T & string] : never;
44
44
  /** - Options for `sanitizeData` */
45
45
  export interface SanitizeOptions<T extends GenericObject> {
@@ -60,8 +60,8 @@ export type SanitizedData<T> = {
60
60
  * - Dot-notation keys for nested objects.
61
61
  * ! Unused
62
62
  */
63
- export type KeyConversion<T> = T extends GenericObjectStrict ? {
64
- [K in keyof T & string]: K extends string ? T[K] extends GenericObjectStrict ? `${K}` | `${K}.${KeyConversion<T[K]>}` : `${K}` : never;
63
+ export type KeyConversion<T> = T extends StrictObject ? {
64
+ [K in keyof T & string]: K extends string ? T[K] extends StrictObject ? `${K}` | `${K}.${KeyConversion<T[K]>}` : `${K}` : never;
65
65
  }[keyof T & string] : never;
66
66
  /**
67
67
  * ! 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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"}
@@ -33,5 +33,7 @@ export type DelayedFn<T extends VoidFunction> = (...args: Parameters<T>) => void
33
33
  export type ThrottledFn<T extends VoidFunction> = (...args: Parameters<T>) => void;
34
34
  /** Asynchronous function type */
35
35
  export type AsyncFunction<T> = (...args: unknown[]) => Promise<T>;
36
+ /** Advanced non-primitive types */
37
+ export type AdvancedTypes = Array<unknown> | File | FileList | Blob | ArrayBuffer | Date | RegExp | WeakMap<any, any> | WeakSet<any> | Map<any, any> | Set<any> | GenericFn | VoidFunction | AsyncFunction<any> | Promise<any> | Error | EvalError | RangeError | ReferenceError | SyntaxError | TypeError | URIError | Intl.Collator | Intl.DateTimeFormat | Intl.ListFormat | Intl.Locale | Intl.NumberFormat | Intl.PluralRules | Intl.RelativeTimeFormat | Intl.Segmenter | bigint | symbol;
36
38
  export {};
37
39
  //# sourceMappingURL=index.d.ts.map
@@ -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,2CAA2C;AAC3C,MAAM,MAAM,cAAc,CAAC,CAAC,IAAI,OAAO,CAAC;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAAE,CAAC,CAAC;AAElE,2CAA2C;AAG3C,+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,cAAc,GAAG,KAAK,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,GAAG,SAAS,CAAC;AAE/D,4BAA4B;AAC5B,MAAM,MAAM,SAAS,GAAG,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC;AAExD,gDAAgD;AAChD,MAAM,MAAM,YAAY,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;AAEpD,kDAAkD;AAClD,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS,YAAY,IAAI,CAC/C,GAAG,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,KAClB,IAAI,CAAC;AAEV,mDAAmD;AACnD,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,YAAY,IAAI,CACjD,GAAG,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,KAClB,IAAI,CAAC;AAEV,iCAAiC;AACjC,MAAM,MAAM,aAAa,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nhb-toolbox",
3
- "version": "2.9.0",
3
+ "version": "2.9.3",
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",