nhb-toolbox 4.10.42 → 4.10.46
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/form/convert.js +10 -2
- package/dist/cjs/form/guards.js +11 -3
- package/dist/cjs/index.js +7 -6
- package/dist/dts/form/convert.d.ts.map +1 -1
- package/dist/dts/form/guards.d.ts +7 -1
- package/dist/dts/form/guards.d.ts.map +1 -1
- package/dist/dts/index.d.ts +2 -2
- package/dist/dts/index.d.ts.map +1 -1
- package/dist/esm/form/convert.js +11 -3
- package/dist/esm/form/guards.js +10 -3
- package/dist/esm/index.js +2 -2
- package/package.json +1 -1
package/dist/cjs/form/convert.js
CHANGED
|
@@ -128,7 +128,7 @@ const createControlledFormData = (data, configs) => {
|
|
|
128
128
|
}
|
|
129
129
|
}
|
|
130
130
|
}
|
|
131
|
-
else if (
|
|
131
|
+
else if ((0, guards_2.isFileOrBlob)(value)) {
|
|
132
132
|
formData.append(transformedKey, value);
|
|
133
133
|
}
|
|
134
134
|
else if ((0, guards_2.isFileList)(value)) {
|
|
@@ -163,6 +163,9 @@ const createControlledFormData = (data, configs) => {
|
|
|
163
163
|
formData.append(transformedKey, JSON.stringify(value));
|
|
164
164
|
}
|
|
165
165
|
}
|
|
166
|
+
else if ((0, guards_1.isDateLike)(value)) {
|
|
167
|
+
formData.append(transformedKey, JSON.parse(JSON.stringify(value)));
|
|
168
|
+
}
|
|
166
169
|
else if ((0, non_primitives_1.isNotEmptyObject)(value)) {
|
|
167
170
|
if (shouldStringify(key) && !shouldDotNotate(key)) {
|
|
168
171
|
// * Clean object before stringifying, preserving required keys
|
|
@@ -184,6 +187,7 @@ const createControlledFormData = (data, configs) => {
|
|
|
184
187
|
formData.append(transformedKey, value.toLowerCase());
|
|
185
188
|
}
|
|
186
189
|
else {
|
|
190
|
+
// ! CONFUSED UNGA-BUNGA
|
|
187
191
|
formData.append(transformedKey, value);
|
|
188
192
|
}
|
|
189
193
|
}
|
|
@@ -195,8 +199,9 @@ const createControlledFormData = (data, configs) => {
|
|
|
195
199
|
const transformedKey = _transformKey(key);
|
|
196
200
|
const fullKey = parentKey ? `${parentKey}.${transformedKey}` : transformedKey;
|
|
197
201
|
// * Skip keys that are in ignoreKeys
|
|
198
|
-
if (configs?.ignoreKeys?.includes(fullKey))
|
|
202
|
+
if (configs?.ignoreKeys?.includes(fullKey)) {
|
|
199
203
|
return;
|
|
204
|
+
}
|
|
200
205
|
// * Trim string values if trimStrings is enabled
|
|
201
206
|
if (configs?.trimStrings && typeof value === 'string') {
|
|
202
207
|
value = value.trim();
|
|
@@ -209,6 +214,9 @@ const createControlledFormData = (data, configs) => {
|
|
|
209
214
|
// * Process nested objects
|
|
210
215
|
_processObject(value, key);
|
|
211
216
|
}
|
|
217
|
+
else if ((0, guards_2.isFileOrBlob)(value)) {
|
|
218
|
+
_addToFormData(key, value);
|
|
219
|
+
}
|
|
212
220
|
else if ((0, guards_1.isDateLike)(value)) {
|
|
213
221
|
_addToFormData(key, JSON.parse(JSON.stringify(value)));
|
|
214
222
|
}
|
package/dist/cjs/form/guards.js
CHANGED
|
@@ -6,6 +6,7 @@ exports.isCustomFile = isCustomFile;
|
|
|
6
6
|
exports.isCustomFileArray = isCustomFileArray;
|
|
7
7
|
exports.isFileArray = isFileArray;
|
|
8
8
|
exports.isFileList = isFileList;
|
|
9
|
+
exports.isFileOrBlob = isFileOrBlob;
|
|
9
10
|
exports.isFileUpload = isFileUpload;
|
|
10
11
|
/**
|
|
11
12
|
* * Checks if a given value is a valid `FormData` & it's not empty.
|
|
@@ -67,9 +68,7 @@ function isCustomFileArray(value) {
|
|
|
67
68
|
* @returns `true` if the value is a valid `File[]`, otherwise `false`.
|
|
68
69
|
*/
|
|
69
70
|
function isFileArray(value) {
|
|
70
|
-
return (Array.isArray(value) &&
|
|
71
|
-
value.length > 0 &&
|
|
72
|
-
value.every((v) => v instanceof File));
|
|
71
|
+
return (Array.isArray(value) && value.length > 0 && value.every(isFileOrBlob));
|
|
73
72
|
}
|
|
74
73
|
/**
|
|
75
74
|
* * Checks if a given value is an instance of `FileList`.
|
|
@@ -79,6 +78,15 @@ function isFileArray(value) {
|
|
|
79
78
|
function isFileList(value) {
|
|
80
79
|
return typeof FileList !== 'undefined' && value instanceof FileList;
|
|
81
80
|
}
|
|
81
|
+
/**
|
|
82
|
+
* * Checks if a given value is an instance of `File` or `Blob`.
|
|
83
|
+
* @param value - The value to check.
|
|
84
|
+
* @returns `true` if the value is an instance of `File` or `Blob`, otherwise `false`.
|
|
85
|
+
*/
|
|
86
|
+
function isFileOrBlob(value) {
|
|
87
|
+
return ((typeof File !== 'undefined' && value instanceof File) ||
|
|
88
|
+
(typeof Blob !== 'undefined' && value instanceof Blob));
|
|
89
|
+
}
|
|
82
90
|
/**
|
|
83
91
|
* * Checks if a given value is a `FileUpload` object.
|
|
84
92
|
* @param value - The value to check.
|
package/dist/cjs/index.js
CHANGED
|
@@ -17,11 +17,11 @@
|
|
|
17
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
18
|
exports.calculatePercentage = exports.UnitConverter = exports.Unit = exports.Currency = exports.sumOfNumbers = exports.sumNumbers = exports.sumDigits = exports.reverseNumber = exports.getSumOfNumbers = exports.getRandomNumber = exports.getRandomInt = exports.getAverageOfNumbers = exports.getAverage = exports.convertToFixed = exports.convertToDecimal = exports.calculateLCM = exports.calculateLCD = exports.calculateHCF = exports.calculateGCD = exports.calculateAverage = exports.wordCount = exports.parseNumbersFromText = exports.levenshteinDistance = exports.getLevenshteinDistance = exports.extractNumbersFromString = exports.extractNumbers = exports.countWordsInString = exports.countWords = exports.slugifyString = exports.reverseString = exports.replaceAllInString = exports.normalizeString = exports.maskString = exports.formatWithPlural = exports.formatUnitWithPlural = exports.formatNumberWithPluralUnit = exports.extractURLs = exports.extractEmails = exports.convertStringCase = exports.isSnakeCase = exports.isPascalCase = exports.isPalindrome = exports.isKebabCase = exports.isEmojiOnly = exports.isCamelCase = exports.generateAnagrams = exports.truncateString = exports.trimString = exports.generateRandomID = exports.capitalizeString = void 0;
|
|
19
19
|
exports.getNumbersInRange = exports.roundToNearestInterval = exports.roundToNearest = exports.roundNumberToNearestInterval = exports.roundNumber = exports.numberToOrdinal = exports.getRandomFloat = exports.getRandomDecimal = exports.getOrdinalNumber = exports.getOrdinal = exports.formatCurrency = exports.convertToOrdinal = exports.convertNumberToOrdinal = exports.convertNumberToCurrency = exports.clampNumber = exports.cardinalToOrdinal = exports.isPrimeNumber = exports.isPrime = exports.getPrimeNumbers = exports.findPrimeNumbers = exports.toRomanNumeral = exports.toRoman = exports.numericToRoman = exports.numberToWords = exports.numberToRoman = exports.integerToRoman = exports.convertToRomanNumerals = exports.convertNumberToWords = exports.isPerfectSquare = exports.isParOfFibonacciSeries = exports.isParOfFibonacci = exports.isOddNumber = exports.isOdd = exports.isNumberInvalid = exports.isMultiple = exports.isInvalidNumber = exports.isFibonacci = exports.isEvenNumber = exports.isEven = exports.areNumbersInvalid = exports.areInvalidNumbers = exports.getNthFibonacci = exports.getMemoizedFibonacciSeries = exports.getMemoizedFibonacci = exports.getFibonacciSeriesMemo = exports.getFibonacciSeries = exports.getFibonacciNumbers = exports.getFibonacci = exports.generateFibonacci = exports.fibonacciGenerator = void 0;
|
|
20
|
-
exports.getTotalMinutes = exports.getTimeStringFromUTC = exports.getMinutesFromUTC = exports.getCurrentTime = exports.getCurrentDateTime = exports.formatUTCOffset = exports.extractTotalMinutesFromTime = exports.extractTimeStringFromUTC = exports.extractTimeFromUTC = exports.extractMinutesFromUTC = exports.extractHourMinute = exports.convertMinutesToUTCOffset = exports.chronusts = exports.chronusjs = exports.chronus = exports.chronosts = exports.chronosjs = exports.chronos = exports.Chronus = exports.Chronos = exports.isValidUTCOffSet = exports.isValidUTC = exports.isValidTimeString = exports.
|
|
21
|
-
exports.
|
|
22
|
-
exports.
|
|
23
|
-
exports.
|
|
24
|
-
exports.isValidURL = void 0;
|
|
20
|
+
exports.getTotalMinutes = exports.getTimeStringFromUTC = exports.getMinutesFromUTC = exports.getCurrentTime = exports.getCurrentDateTime = exports.formatUTCOffset = exports.extractTotalMinutesFromTime = exports.extractTimeStringFromUTC = exports.extractTimeFromUTC = exports.extractMinutesFromUTC = exports.extractHourMinute = exports.convertMinutesToUTCOffset = exports.chronusts = exports.chronusjs = exports.chronus = exports.chronosts = exports.chronosjs = exports.chronos = exports.Chronus = exports.Chronos = exports.isValidUTCOffSet = exports.isValidUTC = exports.isValidTimeString = exports.isValidTime = exports.isLeapYear = exports.isDateLike = exports.greet = exports.getGreeting = exports.generateGreeting = exports.extractSolidColorValues = exports.extractAlphaColorValues = exports.Colour = exports.Color = exports.convertRgbToRgba = exports.convertRgbToHsl = exports.convertRgbToHex = exports.convertRgbaToHsla = exports.convertRgbaToHex8 = exports.convertHslToRgb = exports.convertHslToHex = exports.convertHslaToRgba = exports.convertHslaToHex8 = exports.convertHexToRgb = exports.convertHexToHsl = exports.convertHex8ToRgba = exports.convertHex8ToHsla = exports.convertColorCode = exports.generateRandomHSLColor = exports.generateRandomColorInHexRGB = exports.getColorForInitial = void 0;
|
|
21
|
+
exports.mergeObjects = exports.mergeAndFlattenObjects = exports.flattenObjectKeyValue = exports.flattenObjectDotNotation = exports.extractUpdatedFields = exports.extractUpdatedAndNewFields = exports.extractNewFields = exports.countObjectFields = exports.cloneObject = exports.isValidFormData = exports.isOriginFileObj = exports.isFileUpload = exports.isFileOrBlob = exports.isFileList = exports.isFileArray = exports.isCustomFileArray = exports.isCustomFile = exports.serializeForm = exports.parseFormData = exports.createFormData = exports.createControlledFormData = exports.convertIntoFormData = exports.naturalSortForString = exports.naturalSort = exports.compareSorter = exports.compareNaturally = exports.splitArray = exports.rotateArray = exports.removeDuplicatesFromArray = exports.removeDuplicates = exports.moveArrayElement = exports.getMissingElements = exports.getDuplicatesFromArray = exports.getDuplicates = exports.findMissingElements = exports.extractMissingElements = exports.extractDuplicatesFromArray = exports.extractDuplicates = exports.createOptionsArray = exports.sortAnArray = exports.Finder = exports.shuffleArray = exports.isValidEmptyArray = exports.isInvalidOrEmptyArray = exports.getLastArrayElement = exports.flattenArray = exports.filterArrayOfObjects = exports.minutesToUTCOffset = exports.getTotalMinutesFromUTC = exports.getTotalMinutesFromTime = void 0;
|
|
22
|
+
exports.isNumber = exports.isNull = exports.isNonEmptyString = exports.isInteger = exports.isFalsy = exports.isBoolean = exports.Paginator = exports.throttleAction = exports.parsePrimitivesDeep = exports.parseJsonDeep = exports.parseJSON = exports.isDeepEqual = exports.getStaticMethodsCount = exports.getStaticMethodNames = exports.getInstanceMethodsCount = exports.getInstanceMethodNames = exports.getClassDetails = exports.deepParsePrimitives = exports.debounceAction = exports.countStaticMethods = exports.countInstanceMethods = exports.convertArrayToString = exports.saveToSessionStorage = exports.saveToLocalStorage = exports.removeFromSessionStorage = exports.removeFromLocalStorage = exports.getFromSessionStorage = exports.getFromLocalStorage = exports.toggleFullScreen = exports.smoothScrollTo = exports.copyToClipboard = exports.updateQueryParam = exports.queryStringToObject = exports.parseQueryString = exports.getQueryStringAsObject = exports.getQueryParams = exports.generateQueryParams = exports.formatQueryParams = exports.createQueryParams = exports.remapObjectFields = exports.remapFields = exports.pickObjectFieldsByCondition = exports.pickObjectFields = exports.pickFieldsByCondition = exports.pickFields = exports.convertObjectValues = exports.sanitizeData = exports.parseStringifiedObjectValues = exports.parseObjectValues = exports.parseJsonToObject = void 0;
|
|
23
|
+
exports.isUUID = exports.isURL = exports.isPhoneNumber = exports.isNumericString = exports.isNodeEnvironment = exports.isNodeENV = exports.isNode = exports.isIPAddress = exports.isExpectedNodeENV = exports.isEnvironment = exports.isEmailArray = exports.isEmail = exports.isDateString = exports.isBrowser = exports.isBase64 = exports.isValidSet = exports.isValidObject = exports.isValidMap = exports.isValidJSON = exports.isValidArray = exports.isSet = exports.isReturningPromise = exports.isRegularExpression = exports.isRegExp = exports.isPromise = exports.isObjectWithKeys = exports.isObjectEmpty = exports.isObject = exports.isNotEmptyObject = exports.isMethodDescriptor = exports.isMethod = exports.isMap = exports.isJSONObject = exports.isJSON = exports.isFunction = exports.isError = exports.isEmptyObjectGuard = exports.isEmptyObject = exports.isDate = exports.isBigInt = exports.isArrayWithLength = exports.isArrayOfType = exports.isArray = exports.doesReturnPromise = exports.isUndefined = exports.isTruthy = exports.isSymbol = exports.isString = exports.isPrimitive = exports.isPositiveInteger = void 0;
|
|
24
|
+
exports.isValidURL = exports.isValidEmail = void 0;
|
|
25
25
|
// ! String Utilities
|
|
26
26
|
var basics_1 = require("./string/basics");
|
|
27
27
|
Object.defineProperty(exports, "capitalizeString", { enumerable: true, get: function () { return basics_1.capitalizeString; } });
|
|
@@ -172,9 +172,9 @@ Object.defineProperty(exports, "generateGreeting", { enumerable: true, get: func
|
|
|
172
172
|
Object.defineProperty(exports, "getGreeting", { enumerable: true, get: function () { return greet_1.getGreeting; } });
|
|
173
173
|
Object.defineProperty(exports, "greet", { enumerable: true, get: function () { return greet_1.getGreeting; } });
|
|
174
174
|
var guards_3 = require("./date/guards");
|
|
175
|
+
Object.defineProperty(exports, "isDateLike", { enumerable: true, get: function () { return guards_3.isDateLike; } });
|
|
175
176
|
Object.defineProperty(exports, "isLeapYear", { enumerable: true, get: function () { return guards_3.isLeapYear; } });
|
|
176
177
|
Object.defineProperty(exports, "isValidTime", { enumerable: true, get: function () { return guards_3.isValidTime; } });
|
|
177
|
-
Object.defineProperty(exports, "isDateLike", { enumerable: true, get: function () { return guards_3.isDateLike; } });
|
|
178
178
|
Object.defineProperty(exports, "isValidTimeString", { enumerable: true, get: function () { return guards_3.isValidTime; } });
|
|
179
179
|
Object.defineProperty(exports, "isValidUTC", { enumerable: true, get: function () { return guards_3.isValidUTCOffSet; } });
|
|
180
180
|
Object.defineProperty(exports, "isValidUTCOffSet", { enumerable: true, get: function () { return guards_3.isValidUTCOffSet; } });
|
|
@@ -248,6 +248,7 @@ Object.defineProperty(exports, "isCustomFile", { enumerable: true, get: function
|
|
|
248
248
|
Object.defineProperty(exports, "isCustomFileArray", { enumerable: true, get: function () { return guards_4.isCustomFileArray; } });
|
|
249
249
|
Object.defineProperty(exports, "isFileArray", { enumerable: true, get: function () { return guards_4.isFileArray; } });
|
|
250
250
|
Object.defineProperty(exports, "isFileList", { enumerable: true, get: function () { return guards_4.isFileList; } });
|
|
251
|
+
Object.defineProperty(exports, "isFileOrBlob", { enumerable: true, get: function () { return guards_4.isFileOrBlob; } });
|
|
251
252
|
Object.defineProperty(exports, "isFileUpload", { enumerable: true, get: function () { return guards_4.isFileUpload; } });
|
|
252
253
|
Object.defineProperty(exports, "isOriginFileObj", { enumerable: true, get: function () { return guards_4.isOriginFileObj; } });
|
|
253
254
|
Object.defineProperty(exports, "isValidFormData", { enumerable: true, get: function () { return guards_4.isValidFormData; } });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"convert.d.ts","sourceRoot":"","sources":["../../../src/form/convert.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAEX,aAAa,EAEb,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"convert.d.ts","sourceRoot":"","sources":["../../../src/form/convert.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAEX,aAAa,EAEb,MAAM,iBAAiB,CAAC;AASzB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE/C;;;;;;;GAOG;AACH,eAAO,MAAM,wBAAwB,GAAI,CAAC,SAAS,aAAa,QACzD,CAAC,YACG,eAAe,CAAC,CAAC,CAAC,KAC1B,QA0PF,CAAC"}
|
|
@@ -33,13 +33,19 @@ export declare function isCustomFileArray(value: unknown): value is CustomFile[]
|
|
|
33
33
|
* @param value - The value to check.
|
|
34
34
|
* @returns `true` if the value is a valid `File[]`, otherwise `false`.
|
|
35
35
|
*/
|
|
36
|
-
export declare function isFileArray(value: unknown): value is File[];
|
|
36
|
+
export declare function isFileArray(value: unknown): value is File[] | Blob[];
|
|
37
37
|
/**
|
|
38
38
|
* * Checks if a given value is an instance of `FileList`.
|
|
39
39
|
* @param value - The value to check.
|
|
40
40
|
* @returns `true` if the value is a valid `FileList`, otherwise `false`.
|
|
41
41
|
*/
|
|
42
42
|
export declare function isFileList(value: unknown): value is FileList;
|
|
43
|
+
/**
|
|
44
|
+
* * Checks if a given value is an instance of `File` or `Blob`.
|
|
45
|
+
* @param value - The value to check.
|
|
46
|
+
* @returns `true` if the value is an instance of `File` or `Blob`, otherwise `false`.
|
|
47
|
+
*/
|
|
48
|
+
export declare function isFileOrBlob(value: unknown): value is File | Blob;
|
|
43
49
|
/**
|
|
44
50
|
* * Checks if a given value is a `FileUpload` object.
|
|
45
51
|
* @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;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,QAAQ,CAajE;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,aAAa,CAQtE;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,UAAU,CAQhE;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,UAAU,EAAE,CAIvE;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,IAAI,EAAE,
|
|
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;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,QAAQ,CAajE;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,aAAa,CAQtE;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,UAAU,CAQhE;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,UAAU,EAAE,CAIvE;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,IAAI,EAAE,GAAG,IAAI,EAAE,CAIpE;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,IAAI,GAAG,IAAI,CAKjE;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,UAAU,CAWhE"}
|
package/dist/dts/index.d.ts
CHANGED
|
@@ -34,7 +34,7 @@ export { convertColorCode, convertHex8ToHsla, convertHex8ToRgba, convertHexToHsl
|
|
|
34
34
|
export { Color, Color as Colour } from './colors/Color';
|
|
35
35
|
export { extractAlphaColorValues, extractSolidColorValues, } from './colors/utils';
|
|
36
36
|
export { getGreeting as generateGreeting, getGreeting, getGreeting as greet, } from './date/greet';
|
|
37
|
-
export { isLeapYear, isValidTime,
|
|
37
|
+
export { isDateLike, isLeapYear, isValidTime, isValidTime as isValidTimeString, isValidUTCOffSet as isValidUTC, isValidUTCOffSet, } from './date/guards';
|
|
38
38
|
export { Chronos, Chronos as Chronus } from './date/Chronos';
|
|
39
39
|
export { chronos, chronos as chronosjs, chronos as chronosts, chronos as chronus, chronos as chronusjs, chronos as chronusts, } from './date/chronos-fn';
|
|
40
40
|
export { formatUTCOffset as convertMinutesToUTCOffset, extractHourMinute, extractMinutesFromUTC, extractTimeFromUTC, extractTimeFromUTC as extractTimeStringFromUTC, getTotalMinutes as extractTotalMinutesFromTime, formatUTCOffset, getCurrentDateTime, getCurrentDateTime as getCurrentTime, extractMinutesFromUTC as getMinutesFromUTC, extractTimeFromUTC as getTimeStringFromUTC, getTotalMinutes, getTotalMinutes as getTotalMinutesFromTime, extractMinutesFromUTC as getTotalMinutesFromUTC, formatUTCOffset as minutesToUTCOffset, } from './date/utils';
|
|
@@ -45,7 +45,7 @@ export { createOptionsArray, getDuplicates as extractDuplicates, getDuplicates a
|
|
|
45
45
|
export { naturalSort as compareNaturally, naturalSort as compareSorter, naturalSort, naturalSort as naturalSortForString, } from './array/utils';
|
|
46
46
|
export { createControlledFormData as convertIntoFormData, createControlledFormData, createControlledFormData as createFormData, } from './form/convert';
|
|
47
47
|
export { parseFormData, serializeForm } from './form/transform';
|
|
48
|
-
export { isCustomFile, isCustomFileArray, isFileArray, isFileList, isFileUpload, isOriginFileObj, isValidFormData, } from './form/guards';
|
|
48
|
+
export { isCustomFile, isCustomFileArray, isFileArray, isFileList, isFileOrBlob, isFileUpload, isOriginFileObj, isValidFormData, } from './form/guards';
|
|
49
49
|
export { cloneObject, countObjectFields } from './object/basics';
|
|
50
50
|
export { extractNewFields, extractUpdatedAndNewFields, extractUpdatedFields, flattenObjectDotNotation, flattenObjectKeyValue, mergeAndFlattenObjects, mergeObjects, parseJsonToObject, } from './object/objectify';
|
|
51
51
|
export { parseObjectValues, parseObjectValues as parseStringifiedObjectValues, sanitizeData, } from './object/sanitize';
|
package/dist/dts/index.d.ts.map
CHANGED
|
@@ -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":"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"}
|
package/dist/esm/form/convert.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { isDateLike } from '../date/guards';
|
|
2
2
|
import { isEmptyObject, isNotEmptyObject, isValidArray, } from '../guards/non-primitives';
|
|
3
3
|
import { isNonEmptyString } from '../guards/primitives';
|
|
4
|
-
import { isCustomFile, isCustomFileArray, isFileArray, isFileList, isFileUpload, } from './guards';
|
|
4
|
+
import { isCustomFile, isCustomFileArray, isFileArray, isFileList, isFileOrBlob, isFileUpload, } from './guards';
|
|
5
5
|
/**
|
|
6
6
|
* * Utility to convert object into FormData in a controlled way.
|
|
7
7
|
* - **N.B.** Be cautious when using this in SSR (Server-Side Rendering) environments (such as `Next.js` Server Components), as it may not work as expected.
|
|
@@ -125,7 +125,7 @@ export const createControlledFormData = (data, configs) => {
|
|
|
125
125
|
}
|
|
126
126
|
}
|
|
127
127
|
}
|
|
128
|
-
else if (value
|
|
128
|
+
else if (isFileOrBlob(value)) {
|
|
129
129
|
formData.append(transformedKey, value);
|
|
130
130
|
}
|
|
131
131
|
else if (isFileList(value)) {
|
|
@@ -160,6 +160,9 @@ export const createControlledFormData = (data, configs) => {
|
|
|
160
160
|
formData.append(transformedKey, JSON.stringify(value));
|
|
161
161
|
}
|
|
162
162
|
}
|
|
163
|
+
else if (isDateLike(value)) {
|
|
164
|
+
formData.append(transformedKey, JSON.parse(JSON.stringify(value)));
|
|
165
|
+
}
|
|
163
166
|
else if (isNotEmptyObject(value)) {
|
|
164
167
|
if (shouldStringify(key) && !shouldDotNotate(key)) {
|
|
165
168
|
// * Clean object before stringifying, preserving required keys
|
|
@@ -181,6 +184,7 @@ export const createControlledFormData = (data, configs) => {
|
|
|
181
184
|
formData.append(transformedKey, value.toLowerCase());
|
|
182
185
|
}
|
|
183
186
|
else {
|
|
187
|
+
// ! CONFUSED UNGA-BUNGA
|
|
184
188
|
formData.append(transformedKey, value);
|
|
185
189
|
}
|
|
186
190
|
}
|
|
@@ -192,8 +196,9 @@ export const createControlledFormData = (data, configs) => {
|
|
|
192
196
|
const transformedKey = _transformKey(key);
|
|
193
197
|
const fullKey = parentKey ? `${parentKey}.${transformedKey}` : transformedKey;
|
|
194
198
|
// * Skip keys that are in ignoreKeys
|
|
195
|
-
if (configs?.ignoreKeys?.includes(fullKey))
|
|
199
|
+
if (configs?.ignoreKeys?.includes(fullKey)) {
|
|
196
200
|
return;
|
|
201
|
+
}
|
|
197
202
|
// * Trim string values if trimStrings is enabled
|
|
198
203
|
if (configs?.trimStrings && typeof value === 'string') {
|
|
199
204
|
value = value.trim();
|
|
@@ -206,6 +211,9 @@ export const createControlledFormData = (data, configs) => {
|
|
|
206
211
|
// * Process nested objects
|
|
207
212
|
_processObject(value, key);
|
|
208
213
|
}
|
|
214
|
+
else if (isFileOrBlob(value)) {
|
|
215
|
+
_addToFormData(key, value);
|
|
216
|
+
}
|
|
209
217
|
else if (isDateLike(value)) {
|
|
210
218
|
_addToFormData(key, JSON.parse(JSON.stringify(value)));
|
|
211
219
|
}
|
package/dist/esm/form/guards.js
CHANGED
|
@@ -58,9 +58,7 @@ export function isCustomFileArray(value) {
|
|
|
58
58
|
* @returns `true` if the value is a valid `File[]`, otherwise `false`.
|
|
59
59
|
*/
|
|
60
60
|
export function isFileArray(value) {
|
|
61
|
-
return (Array.isArray(value) &&
|
|
62
|
-
value.length > 0 &&
|
|
63
|
-
value.every((v) => v instanceof File));
|
|
61
|
+
return (Array.isArray(value) && value.length > 0 && value.every(isFileOrBlob));
|
|
64
62
|
}
|
|
65
63
|
/**
|
|
66
64
|
* * Checks if a given value is an instance of `FileList`.
|
|
@@ -70,6 +68,15 @@ export function isFileArray(value) {
|
|
|
70
68
|
export function isFileList(value) {
|
|
71
69
|
return typeof FileList !== 'undefined' && value instanceof FileList;
|
|
72
70
|
}
|
|
71
|
+
/**
|
|
72
|
+
* * Checks if a given value is an instance of `File` or `Blob`.
|
|
73
|
+
* @param value - The value to check.
|
|
74
|
+
* @returns `true` if the value is an instance of `File` or `Blob`, otherwise `false`.
|
|
75
|
+
*/
|
|
76
|
+
export function isFileOrBlob(value) {
|
|
77
|
+
return ((typeof File !== 'undefined' && value instanceof File) ||
|
|
78
|
+
(typeof Blob !== 'undefined' && value instanceof Blob));
|
|
79
|
+
}
|
|
73
80
|
/**
|
|
74
81
|
* * Checks if a given value is a `FileUpload` object.
|
|
75
82
|
* @param value - The value to check.
|
package/dist/esm/index.js
CHANGED
|
@@ -38,7 +38,7 @@ export { Color, Color as Colour } from './colors/Color';
|
|
|
38
38
|
export { extractAlphaColorValues, extractSolidColorValues, } from './colors/utils';
|
|
39
39
|
// ! Date & Time Utilities
|
|
40
40
|
export { getGreeting as generateGreeting, getGreeting, getGreeting as greet, } from './date/greet';
|
|
41
|
-
export { isLeapYear, isValidTime,
|
|
41
|
+
export { isDateLike, isLeapYear, isValidTime, isValidTime as isValidTimeString, isValidUTCOffSet as isValidUTC, isValidUTCOffSet, } from './date/guards';
|
|
42
42
|
export { Chronos, Chronos as Chronus } from './date/Chronos';
|
|
43
43
|
export { chronos, chronos as chronosjs, chronos as chronosts, chronos as chronus, chronos as chronusjs, chronos as chronusts, } from './date/chronos-fn';
|
|
44
44
|
export { formatUTCOffset as convertMinutesToUTCOffset, extractHourMinute, extractMinutesFromUTC, extractTimeFromUTC, extractTimeFromUTC as extractTimeStringFromUTC, getTotalMinutes as extractTotalMinutesFromTime, formatUTCOffset, getCurrentDateTime, getCurrentDateTime as getCurrentTime, extractMinutesFromUTC as getMinutesFromUTC, extractTimeFromUTC as getTimeStringFromUTC, getTotalMinutes, getTotalMinutes as getTotalMinutesFromTime, extractMinutesFromUTC as getTotalMinutesFromUTC, formatUTCOffset as minutesToUTCOffset, } from './date/utils';
|
|
@@ -51,7 +51,7 @@ export { naturalSort as compareNaturally, naturalSort as compareSorter, naturalS
|
|
|
51
51
|
// ! Form Utilities
|
|
52
52
|
export { createControlledFormData as convertIntoFormData, createControlledFormData, createControlledFormData as createFormData, } from './form/convert';
|
|
53
53
|
export { parseFormData, serializeForm } from './form/transform';
|
|
54
|
-
export { isCustomFile, isCustomFileArray, isFileArray, isFileList, isFileUpload, isOriginFileObj, isValidFormData, } from './form/guards';
|
|
54
|
+
export { isCustomFile, isCustomFileArray, isFileArray, isFileList, isFileOrBlob, isFileUpload, isOriginFileObj, isValidFormData, } from './form/guards';
|
|
55
55
|
// ! Object Utilities
|
|
56
56
|
export { cloneObject, countObjectFields } from './object/basics';
|
|
57
57
|
export { extractNewFields, extractUpdatedAndNewFields, extractUpdatedFields, flattenObjectDotNotation, flattenObjectKeyValue, mergeAndFlattenObjects, mergeObjects, parseJsonToObject, } from './object/objectify';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "nhb-toolbox",
|
|
3
|
-
"version": "4.10.
|
|
3
|
+
"version": "4.10.46",
|
|
4
4
|
"description": "A versatile collection of smart, efficient, and reusable utility functions and classes for everyday development needs.",
|
|
5
5
|
"main": "dist/cjs/index.js",
|
|
6
6
|
"module": "dist/esm/index.js",
|