/**
 * ldesign v0.2.3
 * (c) 2022年9月24日 swimly
 * @license MIT
 */

'use strict';

var isObjectLikeA2de5c2f = require('./isObjectLike-a2de5c2f.js');

/**
 * LDesignUtility v0.2.1
 * (c) 2022 undefined
 * @license MIT
 */

function eq(value, other) {
  return value === other || value !== value && other !== other;
}

var eq_1 = eq;
var baseGetTag$1 = isObjectLikeA2de5c2f._baseGetTag,
    isObjectLike = isObjectLikeA2de5c2f.isObjectLike_1;
var symbolTag = "[object Symbol]";

function isSymbol(value) {
  return typeof value == "symbol" || isObjectLike(value) && baseGetTag$1(value) == symbolTag;
}

var isSymbol_1 = isSymbol;

/**
 * LDesignUtility v0.2.1
 * (c) 2022 undefined
 * @license MIT
 */

function isObject$1(value) {
  var type = typeof value;
  return value != null && (type == "object" || type == "function");
}

var isObject_1 = isObject$1;
var baseGetTag = isObjectLikeA2de5c2f._baseGetTag,
    isObject = isObject_1;
var asyncTag = "[object AsyncFunction]",
    funcTag = "[object Function]",
    genTag = "[object GeneratorFunction]",
    proxyTag = "[object Proxy]";

function isFunction$1(value) {
  if (!isObject(value)) {
    return false;
  }

  var tag = baseGetTag(value);
  return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;
}

var isFunction_1 = isFunction$1;

/**
 * LDesignUtility v0.2.1
 * (c) 2022 undefined
 * @license MIT
 */

function baseSlice(array, start, end) {
  var index = -1,
      length = array.length;

  if (start < 0) {
    start = -start > length ? 0 : length + start;
  }

  end = end > length ? length : end;

  if (end < 0) {
    end += length;
  }

  length = start > end ? 0 : end - start >>> 0;
  start >>>= 0;
  var result = Array(length);

  while (++index < length) {
    result[index] = array[index + start];
  }

  return result;
}

var _baseSlice = baseSlice;
var MAX_SAFE_INTEGER$1 = 9007199254740991;

function isLength$1(value) {
  return typeof value == "number" && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER$1;
}

var isLength_1 = isLength$1;
var isFunction = isFunction_1,
    isLength = isLength_1;

function isArrayLike(value) {
  return value != null && isLength(value.length) && !isFunction(value);
}

var isArrayLike_1 = isArrayLike;
var MAX_SAFE_INTEGER = 9007199254740991;
var reIsUint = /^(?:0|[1-9]\d*)$/;

function isIndex(value, length) {
  var type = typeof value;
  length = length == null ? MAX_SAFE_INTEGER : length;
  return !!length && (type == "number" || type != "symbol" && reIsUint.test(value)) && value > -1 && value % 1 == 0 && value < length;
}

var _isIndex = isIndex;

exports._baseSlice = _baseSlice;
exports._isIndex = _isIndex;
exports.eq_1 = eq_1;
exports.isArrayLike_1 = isArrayLike_1;
exports.isFunction_1 = isFunction_1;
exports.isLength_1 = isLength_1;
exports.isObject_1 = isObject_1;
exports.isSymbol_1 = isSymbol_1;
//# sourceMappingURL=_isIndex-9a2ec669.js.map
