Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
var atShim = function at(pos) {
ES.RequireObjectCoercible(this);
var O = ES.ToObject(this);
var S = ES.ToString(O);
var position = ES.ToInteger(pos);
var size = S.length;
if (position < 0 || position >= size) {
return '';
}
// Get the first code unit and code unit value
var cuFirst = S.charCodeAt(position);
var cuSecond;
var nextIndex = position + 1;
var len = 1;
// Check if it’s the start of a surrogate pair.
var isHighSurrogate = cuFirst >= 0xD800 && cuFirst <= 0xDBFF;
if (isHighSurrogate && size > nextIndex /* there is a next code unit */) {
cuSecond = S.charCodeAt(nextIndex);
if (cuSecond >= 0xDC00 && cuSecond <= 0xDFFF) { // low surrogate
len = 2;
}
module.exports = function includes(searchElement) {
var fromIndex = arguments.length > 1 ? ES.ToInteger(arguments[1]) : 0;
if (indexOf && !$isNaN(searchElement) && $isFinite(fromIndex) && typeof searchElement !== 'undefined') {
return indexOf.apply(this, arguments) > -1;
}
var O = ES.ToObject(this);
var length = ES.ToLength(O.length);
if (length === 0) {
return false;
}
var k = fromIndex >= 0 ? fromIndex : Math.max(0, length + fromIndex);
while (k < length) {
if (ES.SameValueZero(searchElement, O[k])) {
return true;
}
k += 1;
}