'use strict'; // https://tc39.github.io/proposal-flatMap/#sec-Array.prototype.flatMap var $export = require('./_export'); var flattenIntoArray = require('./_flatten-into-array'); var toObject = require('./_to-object'); var toLength = require('./_to-length'); var aFunction = require('./_a-function'); var arraySpeciesCreate = require('./_array-species-create'); $export($export.P, 'Array', { flatMap: function flatMap(callbackfn /* , thisArg */) { var O = toObject(this); var sourceLen, A; aFunction(callbackfn); sourceLen = toLength(O.length); A = arraySpeciesCreate(O, 0); flattenIntoArray(A, O, O, sourceLen, 0, 1, callbackfn, arguments[1]); return A; } }); require('./_add-to-unscopables')('flatMap');