summaryrefslogtreecommitdiff
path: root/tools/eslint/node_modules/escope/node_modules/es6-weak-map/node_modules/es5-ext/function/#
diff options
context:
space:
mode:
Diffstat (limited to 'tools/eslint/node_modules/escope/node_modules/es6-weak-map/node_modules/es5-ext/function/#')
-rw-r--r--tools/eslint/node_modules/escope/node_modules/es6-weak-map/node_modules/es5-ext/function/#/compose.js20
-rw-r--r--tools/eslint/node_modules/escope/node_modules/es6-weak-map/node_modules/es5-ext/function/#/copy.js15
-rw-r--r--tools/eslint/node_modules/escope/node_modules/es6-weak-map/node_modules/es5-ext/function/#/curry.js24
-rw-r--r--tools/eslint/node_modules/escope/node_modules/es6-weak-map/node_modules/es5-ext/function/#/index.js12
-rw-r--r--tools/eslint/node_modules/escope/node_modules/es6-weak-map/node_modules/es5-ext/function/#/lock.js12
-rw-r--r--tools/eslint/node_modules/escope/node_modules/es6-weak-map/node_modules/es5-ext/function/#/not.js14
-rw-r--r--tools/eslint/node_modules/escope/node_modules/es6-weak-map/node_modules/es5-ext/function/#/partial.js16
-rw-r--r--tools/eslint/node_modules/escope/node_modules/es6-weak-map/node_modules/es5-ext/function/#/spread.js10
-rw-r--r--tools/eslint/node_modules/escope/node_modules/es6-weak-map/node_modules/es5-ext/function/#/to-string-tokens.js11
9 files changed, 134 insertions, 0 deletions
diff --git a/tools/eslint/node_modules/escope/node_modules/es6-weak-map/node_modules/es5-ext/function/#/compose.js b/tools/eslint/node_modules/escope/node_modules/es6-weak-map/node_modules/es5-ext/function/#/compose.js
new file mode 100644
index 0000000000..1da5e01162
--- /dev/null
+++ b/tools/eslint/node_modules/escope/node_modules/es6-weak-map/node_modules/es5-ext/function/#/compose.js
@@ -0,0 +1,20 @@
+'use strict';
+
+var callable = require('../../object/valid-callable')
+ , aFrom = require('../../array/from')
+
+ , apply = Function.prototype.apply, call = Function.prototype.call
+ , callFn = function (arg, fn) { return call.call(fn, this, arg); };
+
+module.exports = function (fn/*, …fnn*/) {
+ var fns, first;
+ if (!fn) callable(fn);
+ fns = [this].concat(aFrom(arguments));
+ fns.forEach(callable);
+ fns = fns.reverse();
+ first = fns[0];
+ fns = fns.slice(1);
+ return function (arg) {
+ return fns.reduce(callFn, apply.call(first, this, arguments));
+ };
+};
diff --git a/tools/eslint/node_modules/escope/node_modules/es6-weak-map/node_modules/es5-ext/function/#/copy.js b/tools/eslint/node_modules/escope/node_modules/es6-weak-map/node_modules/es5-ext/function/#/copy.js
new file mode 100644
index 0000000000..e1467f7671
--- /dev/null
+++ b/tools/eslint/node_modules/escope/node_modules/es6-weak-map/node_modules/es5-ext/function/#/copy.js
@@ -0,0 +1,15 @@
+'use strict';
+
+var mixin = require('../../object/mixin')
+ , validFunction = require('../valid-function')
+
+ , re = /^\s*function\s*([\0-'\)-\uffff]+)*\s*\(([\0-\(\*-\uffff]*)\)\s*\{/;
+
+module.exports = function () {
+ var match = String(validFunction(this)).match(re), fn;
+
+ fn = new Function('fn', 'return function ' + match[1].trim() + '(' +
+ match[2] + ') { return fn.apply(this, arguments); };')(this);
+ try { mixin(fn, this); } catch (ignore) {}
+ return fn;
+};
diff --git a/tools/eslint/node_modules/escope/node_modules/es6-weak-map/node_modules/es5-ext/function/#/curry.js b/tools/eslint/node_modules/escope/node_modules/es6-weak-map/node_modules/es5-ext/function/#/curry.js
new file mode 100644
index 0000000000..943d6faf86
--- /dev/null
+++ b/tools/eslint/node_modules/escope/node_modules/es6-weak-map/node_modules/es5-ext/function/#/curry.js
@@ -0,0 +1,24 @@
+'use strict';
+
+var toPosInt = require('../../number/to-pos-integer')
+ , callable = require('../../object/valid-callable')
+ , defineLength = require('../_define-length')
+
+ , slice = Array.prototype.slice, apply = Function.prototype.apply
+ , curry;
+
+curry = function self(fn, length, preArgs) {
+ return defineLength(function () {
+ var args = preArgs ?
+ preArgs.concat(slice.call(arguments, 0, length - preArgs.length)) :
+ slice.call(arguments, 0, length);
+ return (args.length === length) ? apply.call(fn, this, args) :
+ self(fn, length, args);
+ }, preArgs ? (length - preArgs.length) : length);
+};
+
+module.exports = function (/*length*/) {
+ var length = arguments[0];
+ return curry(callable(this),
+ isNaN(length) ? toPosInt(this.length) : toPosInt(length));
+};
diff --git a/tools/eslint/node_modules/escope/node_modules/es6-weak-map/node_modules/es5-ext/function/#/index.js b/tools/eslint/node_modules/escope/node_modules/es6-weak-map/node_modules/es5-ext/function/#/index.js
new file mode 100644
index 0000000000..8d0da007fa
--- /dev/null
+++ b/tools/eslint/node_modules/escope/node_modules/es6-weak-map/node_modules/es5-ext/function/#/index.js
@@ -0,0 +1,12 @@
+'use strict';
+
+module.exports = {
+ compose: require('./compose'),
+ copy: require('./copy'),
+ curry: require('./curry'),
+ lock: require('./lock'),
+ not: require('./not'),
+ partial: require('./partial'),
+ spread: require('./spread'),
+ toStringTokens: require('./to-string-tokens')
+};
diff --git a/tools/eslint/node_modules/escope/node_modules/es6-weak-map/node_modules/es5-ext/function/#/lock.js b/tools/eslint/node_modules/escope/node_modules/es6-weak-map/node_modules/es5-ext/function/#/lock.js
new file mode 100644
index 0000000000..91e1a65cd9
--- /dev/null
+++ b/tools/eslint/node_modules/escope/node_modules/es6-weak-map/node_modules/es5-ext/function/#/lock.js
@@ -0,0 +1,12 @@
+'use strict';
+
+var callable = require('../../object/valid-callable')
+
+ , apply = Function.prototype.apply;
+
+module.exports = function (/*…args*/) {
+ var fn = callable(this)
+ , args = arguments;
+
+ return function () { return apply.call(fn, this, args); };
+};
diff --git a/tools/eslint/node_modules/escope/node_modules/es6-weak-map/node_modules/es5-ext/function/#/not.js b/tools/eslint/node_modules/escope/node_modules/es6-weak-map/node_modules/es5-ext/function/#/not.js
new file mode 100644
index 0000000000..c6dbe97fb6
--- /dev/null
+++ b/tools/eslint/node_modules/escope/node_modules/es6-weak-map/node_modules/es5-ext/function/#/not.js
@@ -0,0 +1,14 @@
+'use strict';
+
+var callable = require('../../object/valid-callable')
+ , defineLength = require('../_define-length')
+
+ , apply = Function.prototype.apply;
+
+module.exports = function () {
+ var fn = callable(this);
+
+ return defineLength(function () {
+ return !apply.call(fn, this, arguments);
+ }, fn.length);
+};
diff --git a/tools/eslint/node_modules/escope/node_modules/es6-weak-map/node_modules/es5-ext/function/#/partial.js b/tools/eslint/node_modules/escope/node_modules/es6-weak-map/node_modules/es5-ext/function/#/partial.js
new file mode 100644
index 0000000000..bf31a3575a
--- /dev/null
+++ b/tools/eslint/node_modules/escope/node_modules/es6-weak-map/node_modules/es5-ext/function/#/partial.js
@@ -0,0 +1,16 @@
+'use strict';
+
+var callable = require('../../object/valid-callable')
+ , aFrom = require('../../array/from')
+ , defineLength = require('../_define-length')
+
+ , apply = Function.prototype.apply;
+
+module.exports = function (/*…args*/) {
+ var fn = callable(this)
+ , args = aFrom(arguments);
+
+ return defineLength(function () {
+ return apply.call(fn, this, args.concat(aFrom(arguments)));
+ }, fn.length - args.length);
+};
diff --git a/tools/eslint/node_modules/escope/node_modules/es6-weak-map/node_modules/es5-ext/function/#/spread.js b/tools/eslint/node_modules/escope/node_modules/es6-weak-map/node_modules/es5-ext/function/#/spread.js
new file mode 100644
index 0000000000..d7c93b7e07
--- /dev/null
+++ b/tools/eslint/node_modules/escope/node_modules/es6-weak-map/node_modules/es5-ext/function/#/spread.js
@@ -0,0 +1,10 @@
+'use strict';
+
+var callable = require('../../object/valid-callable')
+
+ , apply = Function.prototype.apply;
+
+module.exports = function () {
+ var fn = callable(this);
+ return function (args) { return apply.call(fn, this, args); };
+};
diff --git a/tools/eslint/node_modules/escope/node_modules/es6-weak-map/node_modules/es5-ext/function/#/to-string-tokens.js b/tools/eslint/node_modules/escope/node_modules/es6-weak-map/node_modules/es5-ext/function/#/to-string-tokens.js
new file mode 100644
index 0000000000..67afeae82d
--- /dev/null
+++ b/tools/eslint/node_modules/escope/node_modules/es6-weak-map/node_modules/es5-ext/function/#/to-string-tokens.js
@@ -0,0 +1,11 @@
+'use strict';
+
+var validFunction = require('../valid-function')
+
+ , re = new RegExp('^\\s*function[\\0-\'\\)-\\uffff]*' +
+ '\\(([\\0-\\(\\*-\\uffff]*)\\)\\s*\\{([\\0-\\uffff]*)\\}\\s*$');
+
+module.exports = function () {
+ var data = String(validFunction(this)).match(re);
+ return { args: data[1], body: data[2] };
+};