12345678910111213141516171819 |
- '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, l;
- if (!this || (this === Array) || !isFunction(this)) return slice.call(arguments);
- result = new this(l = arguments.length);
- for (i = 0; i < l; ++i) {
- desc.value = arguments[i];
- defineProperty(result, i, desc);
- }
- desc.value = null;
- result.length = l;
- return result;
- };
|