cesium
Version:
CesiumJS is a JavaScript library for creating 3D globes and 2D maps in a web browser without a plugin.
43 lines (38 loc) • 1.33 kB
JavaScript
import Check from './Check.js';
import defined from './defined.js';
import FeatureDetection from './FeatureDetection.js';
/**
* Create a shallow copy of an array from begin to end.
*
* @param {Array} array The array to fill.
* @param {Number} [begin=0] The index to start at.
* @param {Number} [end=array.length] The index to end at which is not included.
*
* @returns {Array} The resulting array.
* @private
*/
function arraySlice(array, begin, end) {
//>>includeStart('debug', pragmas.debug);
Check.defined('array', array);
if (defined(begin)) {
Check.typeOf.number('begin', begin);
}
if (defined(end)) {
Check.typeOf.number('end', end);
}
//>>includeEnd('debug');
if (typeof array.slice === 'function') {
return array.slice(begin, end);
}
var copy = Array.prototype.slice.call(array, begin, end);
var typedArrayTypes = FeatureDetection.typedArrayTypes;
var length = typedArrayTypes.length;
for (var i = 0; i < length; ++i) {
if (array instanceof typedArrayTypes[i]) {
copy = new typedArrayTypes[i](copy);
break;
}
}
return copy;
}
export default arraySlice;