@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.
57 lines (52 loc) • 2.23 kB
JavaScript
/*!
* ====================================================
* Rzl Utils-JS.
* ----------------------------------------------------
* Version: 3.11.0.
* Author: Rizalvin Dwiky.
* Repository: https://github.com/rzl-zone/utils-js.
* ====================================================
*/
;
var chunkXX6RUGTM_cjs = require('./chunk-XX6RUGTM.cjs');
var chunk7FGNVDEV_cjs = require('./chunk-7FGNVDEV.cjs');
var chunkUDA26MCU_cjs = require('./chunk-UDA26MCU.cjs');
var chunkSYHPSOUU_cjs = require('./chunk-SYHPSOUU.cjs');
function filterNilArray(input) {
if (chunkSYHPSOUU_cjs.isNil(input)) return void 0;
if (!chunkSYHPSOUU_cjs.isArray(input)) return [];
const filtered = input.reduce((output, element) => {
if (!chunkSYHPSOUU_cjs.isNil(element)) {
if (chunkSYHPSOUU_cjs.isArray(element)) {
const cleanedNested = filterNilArray(element);
if (cleanedNested && !chunk7FGNVDEV_cjs.isEmptyArray(cleanedNested)) {
output.push(cleanedNested);
}
} else {
output.push(element);
}
}
return output;
}, []);
return filtered;
}
function toStringArrayUnRecursive(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, "removeInvalidValue") ? options.removeInvalidValue : true;
chunkSYHPSOUU_cjs.assertIsBoolean(riv, {
message: ({ currentType, validType }) => `Parameter \`removeInvalidValue\` 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 (chunkSYHPSOUU_cjs.isString(x) || chunkXX6RUGTM_cjs.isFinite(x) || chunkSYHPSOUU_cjs.isBoolean(x) || chunkUDA26MCU_cjs.isBigInt(x)) return String(x);
return chunkSYHPSOUU_cjs.isNull(x) ? null : void 0;
});
if (riv) return filterNilArray(result);
return result;
}
return void 0;
}
exports.filterNilArray = filterNilArray;
exports.toStringArrayUnRecursive = toStringArrayUnRecursive;