var isObject = require('./_is-object');
|
var isArray = require('./_is-array');
|
var SPECIES = require('./_wks')('species');
|
|
module.exports = function (original) {
|
var C;
|
if (isArray(original)) {
|
C = original.constructor;
|
// cross-realm fallback
|
if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;
|
if (isObject(C)) {
|
C = C[SPECIES];
|
if (C === null) C = undefined;
|
}
|
} return C === undefined ? Array : C;
|
};
|