@rzl-zone/utils-js
Version:
A modern, lightweight set of JavaScript utility functions with TypeScript support for everyday development, crafted to enhance code readability and maintainability.
565 lines (548 loc) • 25.4 kB
JavaScript
/*!
* ====================================================
* Rzl Utils-JS.
* ----------------------------------------------------
* Version: 3.11.0.
* Author: Rizalvin Dwiky.
* Repository: https://github.com/rzl-zone/utils-js.
* ====================================================
*/
;
var chunkSU3UELUB_cjs = require('./chunk-SU3UELUB.cjs');
var chunkU23I7JPB_cjs = require('./chunk-U23I7JPB.cjs');
var chunkWLOQQFDS_cjs = require('./chunk-WLOQQFDS.cjs');
var chunkWXFTVXBF_cjs = require('./chunk-WXFTVXBF.cjs');
var chunkGIKL4PUF_cjs = require('./chunk-GIKL4PUF.cjs');
var chunk7FGNVDEV_cjs = require('./chunk-7FGNVDEV.cjs');
var chunkDLS3G6WQ_cjs = require('./chunk-DLS3G6WQ.cjs');
var chunkDAPAK2W3_cjs = require('./chunk-DAPAK2W3.cjs');
var chunkUDA26MCU_cjs = require('./chunk-UDA26MCU.cjs');
var chunkSYHPSOUU_cjs = require('./chunk-SYHPSOUU.cjs');
function toNumberArrayUnRecursive(array, options = {}) {
chunkSYHPSOUU_cjs.assertIsPlainObject(options, {
message: ({ currentType, validType }) => `Second parameter (\`options\`) must be of type \`${validType}\`, but received: \`${currentType}\`.`
});
const riv = chunkSYHPSOUU_cjs.hasOwnProp(options, "removeInvalidValueNumber") ? options.removeInvalidValueNumber : true;
chunkSYHPSOUU_cjs.assertIsBoolean(riv, {
message: ({ currentType, validType }) => `Parameter \`removeInvalidValueNumber\` property of the \`options\` (second parameter) must be of type \`${validType}\`, but received: \`${currentType}\`.`
});
if (chunkSYHPSOUU_cjs.isArray(array)) {
const result = Array.from(array, (x) => {
if (chunkUDA26MCU_cjs.isBigInt(x)) return Number(x);
const str = String(x).trim();
const match = str.match(/-?\d+(\.\d+)?/);
return match ? Number(match[0]) : chunkSYHPSOUU_cjs.isNull(x) ? null : void 0;
});
return riv ? chunkU23I7JPB_cjs.filterNilArray(result) : result;
}
return void 0;
}
function toStringDeepForce(value, forceToString) {
if (!(forceToString === false || forceToString === "stringOrNumber" || forceToString === "primitives" || forceToString === "all")) {
throw new TypeError(
`Second parameter \`forceToString\` must be of type \`false\` or \`string\` with value one of "stringOrNumber" | "primitives" | "all", but received: \`${chunkSYHPSOUU_cjs.getPreciseType(
forceToString
)}\`, with value: \`${chunkDAPAK2W3_cjs.safeStableStringify(forceToString, {
keepUndefined: true
})}\`.`
);
}
if (chunkSYHPSOUU_cjs.isNaN(value)) {
return forceToString === "primitives" || forceToString === "all" ? "NaN" : NaN;
}
if (chunkSYHPSOUU_cjs.isString(value) || chunkSYHPSOUU_cjs.isNumber(value)) {
return forceToString === "stringOrNumber" || forceToString === "primitives" || forceToString === "all" ? String(value) : value;
}
if (chunkSYHPSOUU_cjs.isBoolean(value) || chunkUDA26MCU_cjs.isBigInt(value) || chunkSYHPSOUU_cjs.isNil(value)) {
return forceToString === "primitives" || forceToString === "all" ? String(value) : value;
}
if (chunkSYHPSOUU_cjs.isNumberObject(value) || chunkSYHPSOUU_cjs.isBooleanObject(value) || chunkSYHPSOUU_cjs.isStringObject(value)) {
return forceToString === "all" ? value.valueOf().toString() : value;
}
if (chunkSYHPSOUU_cjs.isSymbol(value)) {
return forceToString === "all" ? value.toString() : value;
}
if (chunkSYHPSOUU_cjs.isFunction(value)) {
return forceToString === "all" ? value.toString() : value;
}
if (chunkSYHPSOUU_cjs.isArray(value)) {
return value.map((v) => toStringDeepForce(v, forceToString));
}
if (chunkSYHPSOUU_cjs.isObjectOrArray(value)) {
if (chunkDAPAK2W3_cjs.isDate(value)) {
return forceToString === "all" ? value.toISOString() : value;
}
if (chunkGIKL4PUF_cjs.isRegExp(value)) {
return forceToString === "all" ? value.toString() : value;
}
if (chunkSYHPSOUU_cjs.isError(value) || value instanceof Promise) {
return forceToString === "all" ? value.toString() : value;
}
if (chunkSYHPSOUU_cjs.isSet(value)) {
return forceToString === "all" ? [...value].map((v) => toStringDeepForce(v, forceToString)) : value;
}
if (chunkDAPAK2W3_cjs.isMap(value)) {
return forceToString === "all" ? [...value.entries()].map(([k, v]) => [
toStringDeepForce(k, forceToString),
toStringDeepForce(v, forceToString)
]) : value;
}
const result = {};
if (chunkSYHPSOUU_cjs.isObject(value)) {
for (const key of Object.keys(value)) {
result[key] = toStringDeepForce(value[key], forceToString);
}
}
return result;
}
return value;
}
var dedupeArray = (inputArray, options = {}) => {
chunkDLS3G6WQ_cjs.assertIsArray(inputArray, {
message: ({ currentType, validType }) => `First parameter (\`inputArray\`) must be of type \`${validType}\` (array literal or instance), but received: \`${currentType}\`.`
});
chunkSYHPSOUU_cjs.assertIsPlainObject(options, {
message: ({ currentType, validType }) => `Second parameter (\`options\`) must be of type \`${validType}\`, but received: \`${currentType}\`.`
});
const flatten = chunkSYHPSOUU_cjs.hasOwnProp(options, "flatten") ? options.flatten : false;
const forceToString = chunkSYHPSOUU_cjs.hasOwnProp(options, "forceToString") ? options.forceToString : false;
if (!(forceToString === false || forceToString === "stringOrNumber" || forceToString === "primitives" || forceToString === "all")) {
throw new TypeError(
`Parameter \`forceToString\` property of the \`options\` (second parameter) must be of type \`false\` or \`string\` with value one of "stringOrNumber" | "primitives" | "all", but received: \`${chunkSYHPSOUU_cjs.getPreciseType(
forceToString
)}\`, with value: \`${chunkDAPAK2W3_cjs.safeStableStringify(forceToString, {
keepUndefined: true
})}\`.`
);
}
chunkSYHPSOUU_cjs.assertIsBoolean(flatten, {
message: ({ currentType, validType }) => `Parameter \`flatten\` property of the \`options\` (second parameter) must be of type \`${validType}\`, but received: \`${currentType}\`.`
});
const process = (arr) => {
const seen = [];
return arr.reduce((acc, item) => {
const value = chunkSYHPSOUU_cjs.isArray(item) ? process(item) : toStringDeepForce(item, forceToString);
if (!seen.some((s) => chunkGIKL4PUF_cjs.isEqual(s, value))) {
seen.push(value);
acc.push(value);
}
return acc;
}, []);
};
const deepFlatten = (value) => {
if (chunkSYHPSOUU_cjs.isArray(value)) {
return value.flatMap(deepFlatten);
}
if (chunkSYHPSOUU_cjs.isSet(value)) {
return [...value].flatMap(deepFlatten);
}
if (chunkDAPAK2W3_cjs.isMap(value)) {
return [...value.values()].flatMap(deepFlatten);
}
return [value];
};
return flatten ? process(deepFlatten(inputArray)) : process(inputArray);
};
var toBooleanContent = (value) => {
if (chunkSYHPSOUU_cjs.isNil(value)) return false;
if (chunkSYHPSOUU_cjs.isString(value)) return chunkSYHPSOUU_cjs.isNonEmptyString(value);
if (chunkSYHPSOUU_cjs.isBoolean(value)) return value;
if (chunkSYHPSOUU_cjs.isNumber(value, { includeNaN: true })) return value !== 0;
if (chunkSYHPSOUU_cjs.isArray(value) || chunkSYHPSOUU_cjs.isObject(value)) return chunkSU3UELUB_cjs.isNonEmptyValue(value);
return Boolean(value);
};
var toBooleanContentDeep = (value) => {
if (chunkSYHPSOUU_cjs.isNil(value)) return false;
if (chunkSYHPSOUU_cjs.isString(value)) return chunkSYHPSOUU_cjs.isNonEmptyString(value);
if (chunkSYHPSOUU_cjs.isBoolean(value)) return value;
if (chunkSYHPSOUU_cjs.isNumber(value, { includeNaN: true })) return value !== 0;
if (chunkSYHPSOUU_cjs.isArray(value)) return value.some(toBooleanContentDeep);
if (chunkSYHPSOUU_cjs.isObject(value)) return Object.values(value).some(toBooleanContentDeep);
return false;
};
var toBooleanExplicit = (value, options = {}) => {
if (chunkSYHPSOUU_cjs.isNil(value)) return false;
if (!chunkSYHPSOUU_cjs.isPlainObject(options)) options = {};
const ci = chunkSYHPSOUU_cjs.hasOwnProp(options, "caseInsensitive") ? options.caseInsensitive : false;
const ts = chunkSYHPSOUU_cjs.hasOwnProp(options, "trimString") ? options.trimString : true;
const incInd = chunkSYHPSOUU_cjs.hasOwnProp(options, "includeIndeterminate") ? options.includeIndeterminate : false;
if (!chunkSYHPSOUU_cjs.isBoolean(ci) || !chunkSYHPSOUU_cjs.isBoolean(ts) || !chunkSYHPSOUU_cjs.isBoolean(incInd)) {
throw new TypeError(
`Parameters \`caseInsensitive\`, \`trimString\` and \`includeIndeterminate\` property of the \`options\` (second parameter) expected to be a \`boolean\` type, but received: ['caseInsensitive': \`${chunkSYHPSOUU_cjs.getPreciseType(
ci
)}\`, 'trimString': \`${chunkSYHPSOUU_cjs.getPreciseType(
ts
)}\`, 'includeIndeterminate': \`${chunkSYHPSOUU_cjs.getPreciseType(incInd)}\`].`
);
}
if (chunkSYHPSOUU_cjs.isString(value)) {
let normalized = value;
if (ts) normalized = normalized.trim();
if (ci) normalized = normalized.toLowerCase();
const validTrueStrings = ["true", "on", "yes", "1"];
if (incInd) validTrueStrings.push("indeterminate");
return validTrueStrings.includes(normalized);
}
if (chunkSYHPSOUU_cjs.isNumber(value)) return value === 1;
if (chunkSYHPSOUU_cjs.isBoolean(value)) return value;
return false;
};
var toBooleanLoose = (value) => {
if (chunkSYHPSOUU_cjs.isNil(value)) return false;
if (chunkSYHPSOUU_cjs.isString(value)) return !chunkWLOQQFDS_cjs.isEmptyString(value);
if (chunkSYHPSOUU_cjs.isBoolean(value)) return value;
if (chunkSYHPSOUU_cjs.isNumber(value, { includeNaN: true })) return value !== 0;
if (chunkSYHPSOUU_cjs.isArray(value)) return value.length > 0;
return Boolean(value);
};
var convertType = (value) => {
const predefinedValues = {
undefined: void 0,
null: null,
nan: NaN,
true: true,
false: false,
yes: true,
no: false
};
if (chunkSYHPSOUU_cjs.isString(value)) {
const normalized = value.trim().toLowerCase();
if (Object.prototype.hasOwnProperty.call(predefinedValues, normalized)) {
return predefinedValues[normalized];
}
const numericString = normalized.replace(/,/g, "");
const numberString = Number(numericString);
if (!chunkSYHPSOUU_cjs.isNaN(numberString) && chunkSYHPSOUU_cjs.isNonEmptyString(numericString)) {
return numberString;
}
return value.trim();
}
return value;
};
var deepCloneSafe = (obj) => {
try {
if (chunkSYHPSOUU_cjs.isFunction(structuredClone)) {
return structuredClone(obj);
}
} catch {
}
return JSON.parse(JSON.stringify(obj));
};
var deleteNestedKey = (obj, path) => {
if (!chunkSYHPSOUU_cjs.isObjectOrArray(obj)) return obj;
const [currentKey, ...rest] = path;
if (chunkSYHPSOUU_cjs.isArray(obj)) {
for (const item of obj) {
if (chunkSYHPSOUU_cjs.isObjectOrArray(item)) deleteNestedKey(item, path);
}
} else if (chunk7FGNVDEV_cjs.isEmptyArray(rest)) {
if (chunkSYHPSOUU_cjs.isPlainObject(obj)) delete obj[currentKey];
} else if (chunkSYHPSOUU_cjs.isPlainObject(obj) && chunkSYHPSOUU_cjs.isObjectOrArray(obj[currentKey])) {
deleteNestedKey(obj[currentKey], rest);
}
return obj;
};
var deleteExactPathOnce = (obj, path) => {
if (!chunkSYHPSOUU_cjs.isPlainObject(obj)) return obj;
const [currentKey, ...rest] = path;
if (rest.length === 0) {
if (chunkSYHPSOUU_cjs.isPlainObject(obj)) delete obj[currentKey];
} else if (chunkSYHPSOUU_cjs.isPlainObject(obj[currentKey])) {
deleteExactPathOnce(obj[currentKey], rest);
}
return obj;
};
function removeObjectPaths(object, keysToDelete, deepClone = true) {
if (chunk7FGNVDEV_cjs.isEmptyObject(object, { checkSymbols: true }))
return {};
chunkDLS3G6WQ_cjs.assertIsArray(keysToDelete, {
message: ({ currentType, validType }) => `Second parameter (\`keysToDelete\`) must be of type \`${validType}\` with value of { key: string, deep?: boolean } plain-object, but received: \`${currentType}\`, with value: \`${chunkDAPAK2W3_cjs.safeStableStringify(
keysToDelete,
{
keepUndefined: true
}
)}\`.`
});
if (!keysToDelete.every((k) => chunkSYHPSOUU_cjs.isPlainObject(k) && "key" in k)) {
throw new TypeError(
`Each element in Second Parameter (\`keysToDelete\`) must be of type \`plain-object\` with at least a "key" property (optionally "deep"), but received: \`${chunkDAPAK2W3_cjs.safeStableStringify(
keysToDelete,
{
keepUndefined: true
}
)}\`.`
);
}
let result = deepClone ? deepCloneSafe(object) : object;
for (const { key, deep } of keysToDelete) {
chunkWXFTVXBF_cjs.assertIsString(key, {
message: ({ currentType, validType }) => `Parameter \`key\` at Second Parameter (\`keysToDelete\`) must be of type \`${validType}\`, but received: \`${currentType}\`.`
});
if (!chunkSYHPSOUU_cjs.isUndefined(deep) && !chunkSYHPSOUU_cjs.isBoolean(deep)) {
throw new TypeError(
`Parameter \`deep\` at Second Parameter (\`keysToDelete\`) \u2794 (key: "${key}", deep: ${deep}) must be of type \`boolean\` or \`undefined\`, but received: \`${chunkSYHPSOUU_cjs.getPreciseType(
deep
)}\`.`
);
}
const path = key.split(".");
result = deep ? deleteNestedKey(result, path) : deleteExactPathOnce(result, path);
}
return result;
}
function toNumberDeep(input, options = {}) {
chunkSYHPSOUU_cjs.assertIsPlainObject(options, {
message: ({ currentType, validType }) => `Second parameter (\`options\`) must be of type \`${validType}\`, but received: \`${currentType}\`.`
});
const removeEmptyObjects = chunkSYHPSOUU_cjs.hasOwnProp(options, "removeEmptyObjects") ? options.removeEmptyObjects : false;
const removeEmptyArrays = chunkSYHPSOUU_cjs.hasOwnProp(options, "removeEmptyArrays") ? options.removeEmptyArrays : false;
function _internal(input2, options2) {
if (chunkSYHPSOUU_cjs.isNil(input2) || chunkGIKL4PUF_cjs.isRegExp(input2)) return void 0;
const { removeEmptyArrays: removeEmptyArrays2, removeEmptyObjects: removeEmptyObjects2, isRoot } = options2;
if (!chunkSYHPSOUU_cjs.isBoolean(removeEmptyObjects2) || !chunkSYHPSOUU_cjs.isBoolean(removeEmptyArrays2)) {
throw new TypeError(
`Parameters \`removeEmptyObjects\` and \`removeEmptyArrays\` property of the \`options\` (second parameter) must be of type \`boolean\`, but received: ['removeEmptyObjects': \`${chunkSYHPSOUU_cjs.getPreciseType(
removeEmptyObjects2
)}\`, 'removeEmptyArrays': \`${chunkSYHPSOUU_cjs.getPreciseType(removeEmptyArrays2)}\`].`
);
}
if (chunkSYHPSOUU_cjs.isNumber(input2) || chunkSYHPSOUU_cjs.isBoolean(input2) || chunkSYHPSOUU_cjs.isNonEmptyString(input2)) {
const num = Number(input2);
return chunkSYHPSOUU_cjs.isInfinityNumber(num) || chunkSYHPSOUU_cjs.isNaN(num) ? void 0 : num;
}
if (chunkSYHPSOUU_cjs.isNumberObject(input2) || chunkSYHPSOUU_cjs.isStringObject(input2) || chunkSYHPSOUU_cjs.isBooleanObject(input2)) {
const valOf = Number(input2.valueOf());
return chunkSYHPSOUU_cjs.isInfinityNumber(valOf) || chunkSYHPSOUU_cjs.isNaN(valOf) ? void 0 : valOf;
}
if (chunkDAPAK2W3_cjs.isDate(input2, { skipInvalidDate: true })) {
try {
return !chunkSYHPSOUU_cjs.isNaN(input2.getTime()) ? input2.getTime() : 0;
} catch {
return 0;
}
}
if (chunkSYHPSOUU_cjs.isBuffer(input2)) {
const arr = Array.from(input2).map(
(n) => _internal(n, {
removeEmptyObjects: removeEmptyObjects2,
removeEmptyArrays: removeEmptyArrays2,
isRoot: false
})
).filter((item) => !chunkSYHPSOUU_cjs.isUndefined(item));
if (removeEmptyArrays2 && chunk7FGNVDEV_cjs.isEmptyArray(arr)) return void 0;
return arr;
}
if (chunkSU3UELUB_cjs.isTypedArray(input2)) {
if (input2 instanceof BigInt64Array || input2 instanceof BigUint64Array) {
const newArray = Array.from(input2).map(
(item) => _internal(item, {
removeEmptyObjects: removeEmptyObjects2,
removeEmptyArrays: removeEmptyArrays2,
isRoot: false
})
).filter((item) => !chunkSYHPSOUU_cjs.isUndefined(item));
if (removeEmptyArrays2 && chunk7FGNVDEV_cjs.isEmptyArray(newArray)) return void 0;
return newArray;
} else {
const newArray = Array.from(input2).map(
(item) => _internal(item, {
removeEmptyObjects: removeEmptyObjects2,
removeEmptyArrays: removeEmptyArrays2,
isRoot: false
})
).filter((item) => !chunkSYHPSOUU_cjs.isUndefined(item));
if (removeEmptyArrays2 && chunk7FGNVDEV_cjs.isEmptyArray(newArray)) return void 0;
return newArray;
}
}
if (chunkSYHPSOUU_cjs.isSet(input2)) {
const newArray = Array.from(input2).map(
(item) => _internal(item, {
removeEmptyObjects: removeEmptyObjects2,
removeEmptyArrays: removeEmptyArrays2,
isRoot: false
})
).filter((item) => !chunkSYHPSOUU_cjs.isUndefined(item));
if (removeEmptyArrays2 && chunk7FGNVDEV_cjs.isEmptyArray(newArray)) return void 0;
return newArray;
}
if (chunkDAPAK2W3_cjs.isMap(input2)) {
let newArray = Array.from(input2.entries()).map(([k, v]) => {
const key = _internal(k, {
removeEmptyObjects: removeEmptyObjects2,
removeEmptyArrays: removeEmptyArrays2,
isRoot: false
});
const value = _internal(v, {
removeEmptyObjects: removeEmptyObjects2,
removeEmptyArrays: removeEmptyArrays2,
isRoot: false
});
return !chunkSYHPSOUU_cjs.isUndefined(key) && !chunkSYHPSOUU_cjs.isUndefined(value) ? [key, value] : void 0;
}).filter((item) => !chunkSYHPSOUU_cjs.isUndefined(item));
if (removeEmptyArrays2) {
newArray = newArray.filter((v) => !chunk7FGNVDEV_cjs.isEmptyArray(v));
}
if (removeEmptyArrays2 && chunk7FGNVDEV_cjs.isEmptyArray(newArray)) return void 0;
return newArray;
}
if (chunkSYHPSOUU_cjs.isArray(input2)) {
const newArray = input2.map(
(item) => _internal(item, {
removeEmptyObjects: removeEmptyObjects2,
removeEmptyArrays: removeEmptyArrays2,
isRoot: false
})
).filter((item) => !chunkSYHPSOUU_cjs.isUndefined(item));
if (removeEmptyArrays2 && chunk7FGNVDEV_cjs.isEmptyArray(newArray)) return void 0;
return newArray;
}
if (chunkSYHPSOUU_cjs.isObject(input2)) {
const newObject = {};
for (const [key, value] of Object.entries(input2)) {
const convertedValue = _internal(value, {
removeEmptyObjects: removeEmptyObjects2,
removeEmptyArrays: removeEmptyArrays2,
isRoot: false
});
if (!chunkSYHPSOUU_cjs.isUndefined(convertedValue)) {
newObject[key] = convertedValue;
}
}
if (removeEmptyObjects2 && chunk7FGNVDEV_cjs.isEmptyObject(newObject)) {
return isRoot ? {} : void 0;
}
return newObject;
}
return void 0;
}
return _internal(input, {
removeEmptyObjects,
removeEmptyArrays,
isRoot: true
});
}
function toStringDeep(input, options = {}) {
chunkSYHPSOUU_cjs.assertIsPlainObject(options, {
message: ({ currentType, validType }) => `Second parameter (\`options\`) must be of type \`${validType}\`, but received: \`${currentType}\`.`
});
const removeEmptyObjects = chunkSYHPSOUU_cjs.hasOwnProp(options, "removeEmptyObjects") ? options.removeEmptyObjects : false;
const removeEmptyArrays = chunkSYHPSOUU_cjs.hasOwnProp(options, "removeEmptyArrays") ? options.removeEmptyArrays : false;
function _internal(input2, options2) {
if (chunkSYHPSOUU_cjs.isNil(input2) || chunkSYHPSOUU_cjs.isInfinityNumber(input2)) return void 0;
const { removeEmptyArrays: removeEmptyArrays2, removeEmptyObjects: removeEmptyObjects2, isRoot } = options2;
if (!chunkSYHPSOUU_cjs.isBoolean(removeEmptyObjects2) || !chunkSYHPSOUU_cjs.isBoolean(removeEmptyArrays2)) {
throw new TypeError(
`Parameters \`removeEmptyObjects\` and \`removeEmptyArrays\` property of the \`options\` (second parameter) must be of type \`boolean\`, but received: ['removeEmptyObjects': \`${chunkSYHPSOUU_cjs.getPreciseType(
removeEmptyObjects2
)}\`, 'removeEmptyArrays': \`${chunkSYHPSOUU_cjs.getPreciseType(removeEmptyArrays2)}\`].`
);
}
if (chunkSYHPSOUU_cjs.isNumber(input2) || chunkSYHPSOUU_cjs.isString(input2) || chunkSYHPSOUU_cjs.isBoolean(input2)) return String(input2);
if (chunkSYHPSOUU_cjs.isNumberObject(input2)) {
const valOf = input2.valueOf();
return chunkSYHPSOUU_cjs.isInfinityNumber(valOf) || chunkSYHPSOUU_cjs.isNaN(valOf) ? void 0 : valOf.toString();
}
if (chunkSYHPSOUU_cjs.isStringObject(input2)) return input2.valueOf();
if (chunkSYHPSOUU_cjs.isBooleanObject(input2)) return input2.valueOf().toString();
if (chunkDAPAK2W3_cjs.isDate(input2, { skipInvalidDate: true })) {
try {
return input2.toISOString();
} catch {
return input2.toString();
}
}
if (chunkGIKL4PUF_cjs.isRegExp(input2)) return input2.toString();
if (chunkSYHPSOUU_cjs.isBuffer(input2)) {
return Array.from(input2).map((v) => String(v)).filter((v) => !chunkSYHPSOUU_cjs.isUndefined(v));
}
if (chunkSU3UELUB_cjs.isTypedArray(input2)) {
if (input2 instanceof BigInt64Array || input2 instanceof BigUint64Array) {
const newArray = Array.from(input2).map(
(item) => _internal(item, {
removeEmptyObjects: removeEmptyObjects2,
removeEmptyArrays: removeEmptyArrays2,
isRoot: false
})
).map((v) => String(v)).filter((item) => !chunkSYHPSOUU_cjs.isUndefined(item));
if (removeEmptyArrays2 && chunk7FGNVDEV_cjs.isEmptyArray(newArray)) return void 0;
return newArray;
} else {
const newArray = Array.from(input2).map(
(item) => _internal(item, {
removeEmptyObjects: removeEmptyObjects2,
removeEmptyArrays: removeEmptyArrays2,
isRoot: false
})
).map((v) => String(v)).filter((item) => !chunkSYHPSOUU_cjs.isUndefined(item));
if (removeEmptyArrays2 && chunk7FGNVDEV_cjs.isEmptyArray(newArray)) return void 0;
return newArray;
}
}
if (chunkSYHPSOUU_cjs.isSet(input2)) {
const arr = Array.from(input2).map(
(v) => _internal(v, { removeEmptyObjects: removeEmptyObjects2, removeEmptyArrays: removeEmptyArrays2, isRoot: false })
).filter((v) => !chunkSYHPSOUU_cjs.isUndefined(v));
if (removeEmptyArrays2 && chunk7FGNVDEV_cjs.isEmptyArray(arr)) return void 0;
return arr;
}
if (chunkDAPAK2W3_cjs.isMap(input2)) {
const arr = Array.from(input2.entries()).map(([k, v]) => [
_internal(k, { removeEmptyObjects: removeEmptyObjects2, removeEmptyArrays: removeEmptyArrays2, isRoot: false }),
_internal(v, { removeEmptyObjects: removeEmptyObjects2, removeEmptyArrays: removeEmptyArrays2, isRoot: false })
]).filter(([k, v]) => !chunkSYHPSOUU_cjs.isUndefined(k) && !chunkSYHPSOUU_cjs.isUndefined(v));
if (removeEmptyArrays2 && chunk7FGNVDEV_cjs.isEmptyArray(arr)) return void 0;
return arr;
}
if (chunkSYHPSOUU_cjs.isArray(input2)) {
let newArray = input2.map(
(item) => _internal(item, {
removeEmptyObjects: removeEmptyObjects2,
removeEmptyArrays: removeEmptyArrays2,
isRoot: false
})
).filter((item) => !chunkSYHPSOUU_cjs.isUndefined(item));
if (removeEmptyArrays2) {
newArray = newArray.filter((v) => !(chunkSYHPSOUU_cjs.isArray(v) && v.length === 0));
}
if (removeEmptyArrays2 && chunk7FGNVDEV_cjs.isEmptyArray(newArray)) return void 0;
return newArray;
}
if (chunkSYHPSOUU_cjs.isObject(input2)) {
const newObject = {};
for (const [key, value] of Object.entries(input2)) {
const convertedValue = _internal(value, {
removeEmptyObjects: removeEmptyObjects2,
removeEmptyArrays: removeEmptyArrays2,
isRoot: false
});
if (!chunkSYHPSOUU_cjs.isUndefined(convertedValue)) {
newObject[key] = convertedValue;
} else if (chunkSYHPSOUU_cjs.isArray(value) && !removeEmptyArrays2) {
newObject[key] = [];
}
}
if (removeEmptyObjects2 && Object.keys(newObject).length === 0) {
return isRoot ? {} : void 0;
}
return newObject;
}
return void 0;
}
return _internal(input, {
removeEmptyObjects,
removeEmptyArrays,
isRoot: true
});
}
exports.convertType = convertType;
exports.dedupeArray = dedupeArray;
exports.removeObjectPaths = removeObjectPaths;
exports.toBooleanContent = toBooleanContent;
exports.toBooleanContentDeep = toBooleanContentDeep;
exports.toBooleanExplicit = toBooleanExplicit;
exports.toBooleanLoose = toBooleanLoose;
exports.toNumberArrayUnRecursive = toNumberArrayUnRecursive;
exports.toNumberDeep = toNumberDeep;
exports.toStringDeep = toStringDeep;
exports.toStringDeepForce = toStringDeepForce;