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.

57 lines (52 loc) 2.23 kB
/*! * ==================================================== * Rzl Utils-JS. * ---------------------------------------------------- * Version: 3.11.0. * Author: Rizalvin Dwiky. * Repository: https://github.com/rzl-zone/utils-js. * ==================================================== */ 'use strict'; 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;