/**
 * ldesign v0.3.13
 * (c) 2023 ldesign
 * @license MIT
 */

import './dep-eba0ea6e.mjs';
import { i as isArrayLike_1 } from './dep-9262ee2f.mjs';
import { i as isObjectLike_1 } from './dep-3da99438.mjs';
import { i as identity_1, a as _overRest, b as _setToString } from './dep-0fc02184.mjs';

var isArrayLike = isArrayLike_1,
  isObjectLike = isObjectLike_1;

/**
 * This method is like `_.isArrayLike` except that it also checks if `value`
 * is an object.
 *
 * @static
 * @memberOf _
 * @since 4.0.0
 * @category Lang
 * @param {*} value The value to check.
 * @returns {boolean} Returns `true` if `value` is an array-like object,
 *  else `false`.
 * @example
 *
 * _.isArrayLikeObject([1, 2, 3]);
 * // => true
 *
 * _.isArrayLikeObject(document.body.children);
 * // => true
 *
 * _.isArrayLikeObject('abc');
 * // => false
 *
 * _.isArrayLikeObject(_.noop);
 * // => false
 */
function isArrayLikeObject(value) {
  return isObjectLike(value) && isArrayLike(value);
}
var isArrayLikeObject_1 = isArrayLikeObject;

var identity = identity_1,
  overRest = _overRest,
  setToString = _setToString;

/**
 * The base implementation of `_.rest` which doesn't validate or coerce arguments.
 *
 * @private
 * @param {Function} func The function to apply a rest parameter to.
 * @param {number} [start=func.length-1] The start position of the rest parameter.
 * @returns {Function} Returns the new function.
 */
function baseRest(func, start) {
  return setToString(overRest(func, start, identity), func + '');
}
var _baseRest = baseRest;

export { _baseRest as _, isArrayLikeObject_1 as i };
//# sourceMappingURL=dep-dcc83161.mjs.map
