aboutsummaryrefslogtreecommitdiff
path: root/node_modules/es5-ext/function/_define-length.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/es5-ext/function/_define-length.js')
-rw-r--r--node_modules/es5-ext/function/_define-length.js56
1 files changed, 0 insertions, 56 deletions
diff --git a/node_modules/es5-ext/function/_define-length.js b/node_modules/es5-ext/function/_define-length.js
deleted file mode 100644
index 13749d3bb..000000000
--- a/node_modules/es5-ext/function/_define-length.js
+++ /dev/null
@@ -1,56 +0,0 @@
-"use strict";
-
-var toPosInt = require("../number/to-pos-integer");
-
-var test = function (arg1, arg2) {
- return arg2;
-};
-
-var desc, defineProperty, generate, mixin;
-
-try {
- Object.defineProperty(test, "length", {
- configurable: true,
- writable: false,
- enumerable: false,
- value: 1
- });
-} catch (ignore) {}
-
-if (test.length === 1) {
- // ES6
- desc = { configurable: true, writable: false, enumerable: false };
- defineProperty = Object.defineProperty;
- module.exports = function (fn, length) {
- length = toPosInt(length);
- if (fn.length === length) return fn;
- desc.value = length;
- return defineProperty(fn, "length", desc);
- };
-} else {
- mixin = require("../object/mixin");
- generate = (function () {
- var cache = [];
- return function (length) {
- var args, i = 0;
- if (cache[length]) return cache[length];
- args = [];
- while (length--) args.push("a" + (++i).toString(36));
- // eslint-disable-next-line no-new-func
- return new Function(
- "fn",
- "return function (" + args.join(", ") + ") { return fn.apply(this, arguments); };"
- );
- };
- }());
- module.exports = function (src, length) {
- var target;
- length = toPosInt(length);
- if (src.length === length) return src;
- target = generate(length)(src);
- try {
- mixin(target, src);
- } catch (ignore) {}
- return target;
- };
-}