| 'use strict'; | 
| var $ = require('../internals/export'); | 
| var uncurryThis = require('../internals/function-uncurry-this-clause'); | 
| var getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f; | 
| var toLength = require('../internals/to-length'); | 
| var toString = require('../internals/to-string'); | 
| 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 slice = uncurryThis(''.slice); | 
| var min = Math.min; | 
|   | 
| var CORRECT_IS_REGEXP_LOGIC = correctIsRegExpLogic('endsWith'); | 
| // https://github.com/zloirock/core-js/pull/702 | 
| var MDN_POLYFILL_BUG = !IS_PURE && !CORRECT_IS_REGEXP_LOGIC && !!function () { | 
|   var descriptor = getOwnPropertyDescriptor(String.prototype, 'endsWith'); | 
|   return descriptor && !descriptor.writable; | 
| }(); | 
|   | 
| // `String.prototype.endsWith` method | 
| // https://tc39.es/ecma262/#sec-string.prototype.endswith | 
| $({ target: 'String', proto: true, forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC }, { | 
|   endsWith: function endsWith(searchString /* , endPosition = @length */) { | 
|     var that = toString(requireObjectCoercible(this)); | 
|     notARegExp(searchString); | 
|     var endPosition = arguments.length > 1 ? arguments[1] : undefined; | 
|     var len = that.length; | 
|     var end = endPosition === undefined ? len : min(toLength(endPosition), len); | 
|     var search = toString(searchString); | 
|     return slice(that, end - search.length, end) === search; | 
|   } | 
| }); |