Blame view

node_modules/es5-ext/array/of/shim.js 612 Bytes
aaac7fed   liuqimichale   add
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;
  };