UNPKG

@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
/*! * ==================================================== * Rzl Utils-JS. * ---------------------------------------------------- * Version: 3.11.0. * Author: Rizalvin Dwiky. * Repository: https://github.com/rzl-zone/utils-js. * ==================================================== */ 'use strict'; 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;