'use strict'; var $ = require('../internals/export'); var global = require('../internals/global'); var uncurryThis = require('../internals/function-uncurry-this'); var aCallable = require('../internals/a-callable'); var toIndexedObject = require('../internals/to-indexed-object'); var arrayFromConstructorAndList = require('../internals/array-from-constructor-and-list'); var getVirtual = require('../internals/entry-virtual'); var addToUnscopables = require('../internals/add-to-unscopables'); var Array = global.Array; var sort = uncurryThis(getVirtual('Array').sort); // `Array.prototype.toSorted` method // https://tc39.es/proposal-change-array-by-copy/#sec-array.prototype.toSorted $({ target: 'Array', proto: true }, { toSorted: function toSorted(compareFn) { if (compareFn !== undefined) aCallable(compareFn); var O = toIndexedObject(this); var A = arrayFromConstructorAndList(Array, O); return sort(A, compareFn); } }); addToUnscopables('toSorted');