summaryrefslogtreecommitdiff
path: root/tools/eslint/node_modules/escope/node_modules/es6-map/node_modules/es5-ext/array/_sub-array-dummy-safe.js
blob: 5baf8a8d1127a4f9fce87382f6df95eaee6add12 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
'use strict';

var setPrototypeOf = require('../object/set-prototype-of')
  , isExtensible   = require('./_is-extensible');

module.exports = (function () {
	var SubArray;

	if (isExtensible) return require('./_sub-array-dummy');

	if (!setPrototypeOf) return null;
	SubArray = function () {
		var arr = Array.apply(this, arguments);
		setPrototypeOf(arr, SubArray.prototype);
		return arr;
	};
	setPrototypeOf(SubArray, Array);
	SubArray.prototype = Object.create(Array.prototype, {
		constructor: { value: SubArray, enumerable: false, writable: true,
			configurable: true }
	});
	return SubArray;
}());