| | |
| | | 'use strict'; |
| | | var $ = require('../internals/export'); |
| | | var uncurryThis = require('../internals/function-uncurry-this'); |
| | | var getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f; |
| | | var toLength = require('../internals/to-length'); |
| | | var toString = require('../internals/to-string'); |
| | |
| | | var correctIsRegExpLogic = require('../internals/correct-is-regexp-logic'); |
| | | var IS_PURE = require('../internals/is-pure'); |
| | | |
| | | // eslint-disable-next-line es/no-string-prototype-startswith -- safe |
| | | var $startsWith = ''.startsWith; |
| | | // eslint-disable-next-line es-x/no-string-prototype-startswith -- safe |
| | | var un$StartsWith = uncurryThis(''.startsWith); |
| | | var stringSlice = uncurryThis(''.slice); |
| | | var min = Math.min; |
| | | |
| | | var CORRECT_IS_REGEXP_LOGIC = correctIsRegExpLogic('startsWith'); |
| | |
| | | notARegExp(searchString); |
| | | var index = toLength(min(arguments.length > 1 ? arguments[1] : undefined, that.length)); |
| | | var search = toString(searchString); |
| | | return $startsWith |
| | | ? $startsWith.call(that, search, index) |
| | | : that.slice(index, index + search.length) === search; |
| | | return un$StartsWith |
| | | ? un$StartsWith(that, search, index) |
| | | : stringSlice(that, index, index + search.length) === search; |
| | | } |
| | | }); |