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.
		
		
		
		
		
			
		
			
				
					
					
						
							20 lines
						
					
					
						
							721 B
						
					
					
				
			
		
		
	
	
							20 lines
						
					
					
						
							721 B
						
					
					
				var isObject = require('../internals/is-object'); | 
						|
var isArray = require('../internals/is-array'); | 
						|
var wellKnownSymbol = require('../internals/well-known-symbol'); | 
						|
 | 
						|
var SPECIES = wellKnownSymbol('species'); | 
						|
 | 
						|
// `ArraySpeciesCreate` abstract operation | 
						|
// https://tc39.github.io/ecma262/#sec-arrayspeciescreate | 
						|
module.exports = function (originalArray, length) { | 
						|
  var C; | 
						|
  if (isArray(originalArray)) { | 
						|
    C = originalArray.constructor; | 
						|
    // cross-realm fallback | 
						|
    if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined; | 
						|
    else if (isObject(C)) { | 
						|
      C = C[SPECIES]; | 
						|
      if (C === null) C = undefined; | 
						|
    } | 
						|
  } return new (C === undefined ? Array : C)(length === 0 ? 0 : length); | 
						|
};
 | 
						|
 |