1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
| "use strict";
|
| var isFunction = require("../../function/is-function")
| , slice = Array.prototype.slice
| , defineProperty = Object.defineProperty
| , desc = { configurable: true, enumerable: true, writable: true, value: null };
|
| module.exports = function (/* …items*/) {
| var result, i, length;
| if (!this || this === Array || !isFunction(this)) return slice.call(arguments);
| result = new this((length = arguments.length));
| for (i = 0; i < length; ++i) {
| desc.value = arguments[i];
| defineProperty(result, i, desc);
| }
| desc.value = null;
| result.length = length;
| return result;
| };
|
|