You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							32 lines
						
					
					
						
							1.4 KiB
						
					
					
				
			
		
		
	
	
							32 lines
						
					
					
						
							1.4 KiB
						
					
					
				'use strict'; | 
						|
var $ = require('../internals/export'); | 
						|
var getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f; | 
						|
var toLength = require('../internals/to-length'); | 
						|
var notARegExp = require('../internals/not-a-regexp'); | 
						|
var requireObjectCoercible = require('../internals/require-object-coercible'); | 
						|
var correctIsRegExpLogic = require('../internals/correct-is-regexp-logic'); | 
						|
var IS_PURE = require('../internals/is-pure'); | 
						|
 | 
						|
var nativeStartsWith = ''.startsWith; | 
						|
var min = Math.min; | 
						|
 | 
						|
var CORRECT_IS_REGEXP_LOGIC = correctIsRegExpLogic('startsWith'); | 
						|
// https://github.com/zloirock/core-js/pull/702 | 
						|
var MDN_POLYFILL_BUG = !IS_PURE && !CORRECT_IS_REGEXP_LOGIC && !!function () { | 
						|
  var descriptor = getOwnPropertyDescriptor(String.prototype, 'startsWith'); | 
						|
  return descriptor && !descriptor.writable; | 
						|
}(); | 
						|
 | 
						|
// `String.prototype.startsWith` method | 
						|
// https://tc39.github.io/ecma262/#sec-string.prototype.startswith | 
						|
$({ target: 'String', proto: true, forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC }, { | 
						|
  startsWith: function startsWith(searchString /* , position = 0 */) { | 
						|
    var that = String(requireObjectCoercible(this)); | 
						|
    notARegExp(searchString); | 
						|
    var index = toLength(min(arguments.length > 1 ? arguments[1] : undefined, that.length)); | 
						|
    var search = String(searchString); | 
						|
    return nativeStartsWith | 
						|
      ? nativeStartsWith.call(that, search, index) | 
						|
      : that.slice(index, index + search.length) === search; | 
						|
  } | 
						|
});
 | 
						|
 |