UNPKG

tdesign-react

Version:
62 lines (55 loc) 1.93 kB
/** * tdesign v1.13.2 * (c) 2025 tdesign * @license MIT */ 'use strict'; var _arrayPush = require('./dep-fd5d57c1.js'); var _baseGetTag = require('./dep-f0379c5f.js'); var isArguments = require('./dep-4b02d669.js'); var isArray = require('./dep-028b759d.js'); /** Built-in value references. */ var spreadableSymbol = _baseGetTag._Symbol ? _baseGetTag._Symbol.isConcatSpreadable : undefined; /** * Checks if `value` is a flattenable `arguments` object or array. * * @private * @param {*} value The value to check. * @returns {boolean} Returns `true` if `value` is flattenable, else `false`. */ function isFlattenable(value) { return isArray.isArray(value) || isArguments.isArguments(value) || !!(spreadableSymbol && value && value[spreadableSymbol]); } /** * The base implementation of `_.flatten` with support for restricting flattening. * * @private * @param {Array} array The array to flatten. * @param {number} depth The maximum recursion depth. * @param {boolean} [predicate=isFlattenable] The function invoked per iteration. * @param {boolean} [isStrict] Restrict to values that pass `predicate` checks. * @param {Array} [result=[]] The initial result value. * @returns {Array} Returns the new flattened array. */ function baseFlatten(array, depth, predicate, isStrict, result) { var index = -1, length = array.length; predicate || (predicate = isFlattenable); result || (result = []); while (++index < length) { var value = array[index]; if (depth > 0 && predicate(value)) { if (depth > 1) { // Recursively flatten arrays (susceptible to call stack limits). baseFlatten(value, depth - 1, predicate, isStrict, result); } else { _arrayPush.arrayPush(result, value); } } else if (!isStrict) { result[result.length] = value; } } return result; } exports.baseFlatten = baseFlatten; //# sourceMappingURL=dep-ba1bf618.js.map