LendAndRegret/node_modules/es-toolkit/dist/compat/_internal/isIterateeCall.mjs
2026-05-02 17:27:43 +08:00

18 lines
621 B
JavaScript

import { isIndex } from './isIndex.mjs';
import { isArrayLike } from '../predicate/isArrayLike.mjs';
import { isObject } from '../predicate/isObject.mjs';
import { isEqualsSameValueZero } from '../../_internal/isEqualsSameValueZero.mjs';
function isIterateeCall(value, index, object) {
if (!isObject(object)) {
return false;
}
if ((typeof index === 'number' && isArrayLike(object) && isIndex(index) && index < object.length) ||
(typeof index === 'string' && index in object)) {
return isEqualsSameValueZero(object[index], value);
}
return false;
}
export { isIterateeCall };