nhb-toolbox 2.8.8 → 2.8.9
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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transform.d.ts","sourceRoot":"","sources":["../../src/form/transform.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"transform.d.ts","sourceRoot":"","sources":["../../src/form/transform.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAEX,aAAa,EAEb,MAAM,iBAAiB,CAAC;AAEzB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE/C;;;;;;;GAOG;AAGH,eAAO,MAAM,wBAAwB,GAAI,CAAC,SAAS,aAAa,QACzD,CAAC,YACG,eAAe,CAAC,CAAC,CAAC,KAC1B,QAsMF,CAAC"}
|
package/dist/form/transform.js
CHANGED
|
@@ -9,33 +9,85 @@ import { isCustomFile, isCustomFileArray, isFileUpload } from './guards';
|
|
|
9
9
|
*
|
|
10
10
|
* @returns FormData instance containing the sanitized and transformed data
|
|
11
11
|
*/
|
|
12
|
+
// ... (previous imports remain the same)
|
|
12
13
|
export const createControlledFormData = (data, configs) => {
|
|
13
14
|
const formData = new FormData();
|
|
14
15
|
const { stringifyNested = '*' } = configs || {};
|
|
16
|
+
/** Helper to check if a key should be lowercase */
|
|
17
|
+
const shouldLowercase = (key) => {
|
|
18
|
+
return Array.isArray(configs?.lowerCaseKeys) ?
|
|
19
|
+
configs.lowerCaseKeys.some((path) => key === path || key.startsWith(`${path}.`))
|
|
20
|
+
: configs?.lowerCaseKeys === '*';
|
|
21
|
+
};
|
|
22
|
+
/** Transforms key to lowercase if needed */
|
|
23
|
+
const transformKey = (key) => {
|
|
24
|
+
return shouldLowercase(key) ? key.toLowerCase() : key;
|
|
25
|
+
};
|
|
26
|
+
/** - Helper function to check if a key matches a breakArray key. */
|
|
27
|
+
const isRequiredKey = (key) => {
|
|
28
|
+
const transformedKey = transformKey(key);
|
|
29
|
+
return Array.isArray(configs?.requiredKeys) ?
|
|
30
|
+
configs.requiredKeys.some((path) => transformedKey === path ||
|
|
31
|
+
transformedKey.startsWith(`${path}.`))
|
|
32
|
+
: configs?.requiredKeys === '*';
|
|
33
|
+
};
|
|
15
34
|
/** - Helper function to check if a key matches a dotNotation path to preserve. */
|
|
16
35
|
const shouldDotNotate = (key) => {
|
|
36
|
+
const transformedKey = transformKey(key);
|
|
17
37
|
return Array.isArray(configs?.dotNotateNested) ?
|
|
18
|
-
configs.dotNotateNested.
|
|
38
|
+
configs.dotNotateNested.includes(transformedKey)
|
|
19
39
|
: configs?.dotNotateNested === '*';
|
|
20
40
|
};
|
|
21
41
|
/** - Helper function to check if a key matches a stringifyNested key. */
|
|
22
42
|
const shouldStringify = (key) => {
|
|
43
|
+
const transformedKey = transformKey(key);
|
|
23
44
|
return Array.isArray(stringifyNested) ?
|
|
24
|
-
stringifyNested.
|
|
45
|
+
stringifyNested.includes(transformedKey)
|
|
25
46
|
: stringifyNested === '*';
|
|
26
47
|
};
|
|
27
48
|
/** - Helper function to check if a key matches a breakArray key. */
|
|
28
49
|
const shouldBreakArray = (key) => {
|
|
50
|
+
const transformedKey = transformKey(key);
|
|
29
51
|
return Array.isArray(configs?.breakArray) ?
|
|
30
|
-
configs.breakArray.
|
|
52
|
+
configs.breakArray.includes(transformedKey)
|
|
31
53
|
: configs?.breakArray === '*';
|
|
32
54
|
};
|
|
55
|
+
/** - Helper to clean object by removing null/undefined/empty values while respecting required keys */
|
|
56
|
+
const _cleanObject = (obj, parentKey = '') => {
|
|
57
|
+
return Object.entries(obj).reduce((acc, [key, value]) => {
|
|
58
|
+
const transformedKey = transformKey(key);
|
|
59
|
+
const fullKey = parentKey ? `${parentKey}.${transformedKey}` : transformedKey;
|
|
60
|
+
// Skip ignored keys (don't include them in the cleaned object)
|
|
61
|
+
if (configs?.ignoreKeys?.includes(fullKey)) {
|
|
62
|
+
return acc;
|
|
63
|
+
}
|
|
64
|
+
// Keep value if:
|
|
65
|
+
// 1. It's required OR
|
|
66
|
+
// 2. It's not null/undefined AND not empty string/object
|
|
67
|
+
const shouldKeep = isRequiredKey(fullKey) ||
|
|
68
|
+
(value != null &&
|
|
69
|
+
(typeof value !== 'string' || value !== '') &&
|
|
70
|
+
(typeof value !== 'object' || !isEmptyObject(value)));
|
|
71
|
+
if (shouldKeep) {
|
|
72
|
+
if (typeof value === 'object' &&
|
|
73
|
+
value !== null &&
|
|
74
|
+
!Array.isArray(value)) {
|
|
75
|
+
// Recursively clean nested objects
|
|
76
|
+
const cleaned = _cleanObject(value, fullKey);
|
|
77
|
+
if (isRequiredKey(fullKey) || !isEmptyObject(cleaned)) {
|
|
78
|
+
acc[transformKey(key)] = cleaned;
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
else {
|
|
82
|
+
acc[transformKey(key)] = value;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
return acc;
|
|
86
|
+
}, {});
|
|
87
|
+
};
|
|
33
88
|
/** * Helper function to add values to formData */
|
|
34
89
|
const _addToFormData = (key, value) => {
|
|
35
|
-
const transformedKey = (
|
|
36
|
-
configs?.lowerCaseKeys?.includes(key)) ?
|
|
37
|
-
key.toLowerCase()
|
|
38
|
-
: key;
|
|
90
|
+
const transformedKey = transformKey(key);
|
|
39
91
|
if (isCustomFileArray(value)) {
|
|
40
92
|
value.forEach((file) => formData.append(transformedKey, file.originFileObj));
|
|
41
93
|
}
|
|
@@ -69,7 +121,11 @@ export const createControlledFormData = (data, configs) => {
|
|
|
69
121
|
value !== null &&
|
|
70
122
|
!isEmptyObject(value)) {
|
|
71
123
|
if (shouldStringify(key) && !shouldDotNotate(key)) {
|
|
72
|
-
|
|
124
|
+
// Clean object before stringifying, preserving required keys
|
|
125
|
+
const cleanedValue = _cleanObject(value, key);
|
|
126
|
+
if (!isEmptyObject(cleanedValue) || isRequiredKey(key)) {
|
|
127
|
+
formData.append(transformedKey, JSON.stringify(cleanedValue));
|
|
128
|
+
}
|
|
73
129
|
}
|
|
74
130
|
else {
|
|
75
131
|
Object.entries(value).forEach(([nestedKey, nestedValue]) => {
|
|
@@ -78,10 +134,8 @@ export const createControlledFormData = (data, configs) => {
|
|
|
78
134
|
}
|
|
79
135
|
}
|
|
80
136
|
else {
|
|
81
|
-
const isRequired = configs?.requiredKeys === '*' ||
|
|
82
|
-
configs?.requiredKeys?.includes(key);
|
|
83
137
|
const isNotNullish = value != null && value !== '';
|
|
84
|
-
if (isNotNullish ||
|
|
138
|
+
if (isNotNullish || isRequiredKey(key)) {
|
|
85
139
|
formData.append(transformedKey, value);
|
|
86
140
|
}
|
|
87
141
|
}
|
|
@@ -89,9 +143,8 @@ export const createControlledFormData = (data, configs) => {
|
|
|
89
143
|
/** - Helper to process object */
|
|
90
144
|
const _processObject = (obj, parentKey = '') => {
|
|
91
145
|
Object.entries(obj).forEach(([key, value]) => {
|
|
92
|
-
const
|
|
93
|
-
|
|
94
|
-
: key);
|
|
146
|
+
const transformedKey = transformKey(key);
|
|
147
|
+
const fullKey = parentKey ? `${parentKey}.${transformedKey}` : transformedKey;
|
|
95
148
|
// Skip keys that are in ignoreKeys
|
|
96
149
|
if (configs?.ignoreKeys?.includes(fullKey))
|
|
97
150
|
return;
|
|
@@ -106,8 +159,8 @@ export const createControlledFormData = (data, configs) => {
|
|
|
106
159
|
}
|
|
107
160
|
else if (typeof value === 'object' &&
|
|
108
161
|
!Array.isArray(value) &&
|
|
109
|
-
value
|
|
110
|
-
!
|
|
162
|
+
value !== null &&
|
|
163
|
+
!shouldStringify(fullKey)) {
|
|
111
164
|
// Process nested objects
|
|
112
165
|
_processObject(value, key);
|
|
113
166
|
}
|
package/dist/form/types.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { DotNotationKey,
|
|
1
|
+
import type { DotNotationKey, KeyForArray, KeyForObject } from '../object/types';
|
|
2
2
|
/** - Configuration options to control FormData generation behavior. */
|
|
3
3
|
export interface FormDataConfigs<T> {
|
|
4
4
|
/**
|
|
@@ -17,25 +17,24 @@ export interface FormDataConfigs<T> {
|
|
|
17
17
|
*/
|
|
18
18
|
lowerCaseKeys?: '*' | DotNotationKey<T>[];
|
|
19
19
|
/**
|
|
20
|
-
* * An array of
|
|
21
|
-
* -
|
|
22
|
-
* - Use `*` to preserve all keys in their dot-notation format.
|
|
20
|
+
* * An array of keys (values must be object) to preserve in their original structure.
|
|
21
|
+
* - Use `*` to preserve all keys with object values in their dot-notation format.
|
|
23
22
|
* - If a key exists in both `dotNotateNested` and `stringifyNested`, `dotNotateNested` takes precedence.
|
|
24
23
|
*/
|
|
25
|
-
dotNotateNested?: '*' |
|
|
24
|
+
dotNotateNested?: '*' | KeyForObject<T>[];
|
|
26
25
|
/**
|
|
27
|
-
* * Specifies which
|
|
28
|
-
* - Defaults to `*`, meaning all
|
|
26
|
+
* * Specifies which keys (values must be objects) should be stringified instead of being dot-notated.
|
|
27
|
+
* - Defaults to `*`, meaning all keys with object values will be stringified. Which is standard in modern form submissions.
|
|
29
28
|
* - Use `*` to stringify all nested objects.
|
|
30
29
|
* - If a key exists in both `dotNotateNested` and `stringifyNested`, `dotNotateNested` takes precedence.
|
|
31
30
|
*/
|
|
32
|
-
stringifyNested?: '*' |
|
|
31
|
+
stringifyNested?: '*' | KeyForObject<T>[];
|
|
33
32
|
/**
|
|
34
33
|
* * Controls how arrays should be serialized in FormData.
|
|
35
34
|
* - If a key is included, the array will be broken into individual key-value pairs (`key[0]: value, key[1]: value`).
|
|
36
35
|
* - Use `*` to apply this behavior to all array keys.
|
|
37
36
|
*/
|
|
38
|
-
breakArray?: '*' |
|
|
37
|
+
breakArray?: '*' | KeyForArray<T>[];
|
|
39
38
|
/** - Enables automatic trimming of string values before appending them to FormData. */
|
|
40
39
|
trimStrings?: boolean;
|
|
41
40
|
}
|
package/dist/form/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/form/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,cAAc,EACd,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/form/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,cAAc,EACd,WAAW,EACX,YAAY,EACZ,MAAM,iBAAiB,CAAC;AAEzB,uEAAuE;AACvE,MAAM,WAAW,eAAe,CAAC,CAAC;IACjC;;;OAGG;IACH,UAAU,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC;IAEjC;;;OAGG;IACH,YAAY,CAAC,EAAE,GAAG,GAAG,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC;IAEzC;;;OAGG;IACH,aAAa,CAAC,EAAE,GAAG,GAAG,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC;IAE1C;;;;OAIG;IACH,eAAe,CAAC,EAAE,GAAG,GAAG,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;IAE1C;;;;;OAKG;IACH,eAAe,CAAC,EAAE,GAAG,GAAG,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;IAE1C;;;;OAIG;IACH,UAAU,CAAC,EAAE,GAAG,GAAG,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;IAEpC,uFAAuF;IACvF,WAAW,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,+GAA+G;AAC/G,MAAM,WAAW,UAAU;IAC1B,uCAAuC;IACvC,IAAI,EAAE,IAAI,GAAG,UAAU,CAAC;IACxB,oDAAoD;IACpD,QAAQ,EAAE,UAAU,EAAE,CAAC;CACvB;AAED,2EAA2E;AAC3E,MAAM,WAAW,UAAU;IAC1B,sCAAsC;IACtC,GAAG,EAAE,MAAM,CAAC;IACZ,oEAAoE;IACpE,YAAY,EAAE,MAAM,CAAC;IACrB,yDAAyD;IACzD,gBAAgB,EAAE,IAAI,CAAC;IACvB,4BAA4B;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,qCAAqC;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,iCAAiC;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,0CAA0C;IAC1C,OAAO,EAAE,MAAM,CAAC;IAChB,2DAA2D;IAC3D,aAAa,EAAE,aAAa,CAAC;IAC7B,mDAAmD;IACnD,QAAQ,EAAE,MAAM,CAAC;IACjB,sDAAsD;IACtD,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,0DAA0D;IAC1D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,+EAA+E;IAC/E,MAAM,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,sEAAsE;AACtE,MAAM,WAAW,aAAc,SAAQ,IAAI;IAC1C,+CAA+C;IAC/C,GAAG,EAAE,MAAM,CAAC;CACZ;AAED,8DAA8D;AAC9D,MAAM,WAAW,SAAU,SAAQ,KAAK;IACvC,qCAAqC;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,kEAAkE;IAClE,MAAM,EAAE,MAAM,CAAC;IACf,8CAA8C;IAC9C,GAAG,EAAE,MAAM,CAAC;CACZ"}
|
package/dist/object/types.d.ts
CHANGED
|
@@ -26,12 +26,12 @@ export type DotNotationKey<T> = T extends unknown[] ? never : T extends GenericO
|
|
|
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
28
|
/** - Dot-notation keys where the value is an array (including optional properties) */
|
|
29
|
-
export type
|
|
30
|
-
[K in keyof T & string]: NonNullable<T[K]> extends unknown[] ?
|
|
29
|
+
export type KeyForArray<T> = T extends GenericObject ? {
|
|
30
|
+
[K in keyof T & string]: NonNullable<T[K]> extends unknown[] ? K : never;
|
|
31
31
|
}[keyof T & string] : never;
|
|
32
32
|
/** - Dot-notation keys where the value is a non-array object (including optional properties) */
|
|
33
|
-
export type
|
|
34
|
-
[K in keyof T & string]: NonNullable<T[K]> extends GenericObject ? NonNullable<T[K]> extends
|
|
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;
|
|
35
35
|
}[keyof T & string] : never;
|
|
36
36
|
/** - Extract only primitive keys from an object, including nested dot-notation keys. */
|
|
37
37
|
export type NestedPrimitiveKey<T> = T extends GenericObject ? {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/object/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAE1C,4CAA4C;AAC5C,MAAM,MAAM,mBAAmB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAE1D,4CAA4C;AAC5C,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAEhD;;;GAGG;AACH,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG,SAAS,EAAE,GAAG,WAAW,CAAC;AAErE;;;GAGG;AACH,MAAM,MAAM,WAAW,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,gBAAgB,CAAA;CAAE,CAAC;AAE9D,4EAA4E;AAC5E,MAAM,MAAM,sBAAsB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;AAE/E,6CAA6C;AAC7C,MAAM,MAAM,oBAAoB,CAAC,CAAC,IACjC,CAAC,SAAS,OAAO,EAAE,GAClB,KAAK,GACJ,CAAC,SAAS,mBAAmB,GAC9B;KACE,CAAC,IAAI,MAAM,CAAC,GAAG,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,mBAAmB,GACxD,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,IAAI,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAC5C,GAAG,CAAC,EAAE;CACR,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,GAClB,KAAK,CAAC;AAET,6EAA6E;AAC7E,MAAM,MAAM,cAAc,CAAC,CAAC,IAC3B,CAAC,SAAS,OAAO,EAAE,GAClB,KAAK,GACJ,CAAC,SAAS,aAAa,GACxB;KACE,CAAC,IAAI,MAAM,CAAC,GAAG,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,aAAa,GAC/D,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,IAAI,cAAc,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GACnD,GAAG,CAAC,EAAE;CACR,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,GAClB,KAAK,CAAC;AAET,sFAAsF;AACtF,MAAM,MAAM,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/object/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED