aboutsummaryrefslogtreecommitdiff
path: root/node_modules/call-signature/index.js
diff options
context:
space:
mode:
authorFlorian Dold <florian.dold@gmail.com>2019-03-27 21:01:33 +0100
committerFlorian Dold <florian.dold@gmail.com>2019-03-27 21:01:33 +0100
commitcc97a4dd2a967e1c2273bd5f4c5f49a5bf2e2585 (patch)
tree92c5d88706a6ffc654d1b133618d357890e7096b /node_modules/call-signature/index.js
parent3771b4d6b67b34c130f3a9a1a15f42deefdb2eda (diff)
remove node_modules
Diffstat (limited to 'node_modules/call-signature/index.js')
-rw-r--r--node_modules/call-signature/index.js83
1 files changed, 0 insertions, 83 deletions
diff --git a/node_modules/call-signature/index.js b/node_modules/call-signature/index.js
deleted file mode 100644
index 327cb56ed..000000000
--- a/node_modules/call-signature/index.js
+++ /dev/null
@@ -1,83 +0,0 @@
-'use strict';
-module.exports.parse = parse;
-module.exports.generate = generate;
-
-// TODO(jamestalmage): Allow full range of identifier characters instead of just ASCII
-//
-// This will likely require a build step
-//
-// SPEC: http://www.ecma-international.org/ecma-262/5.1/#sec-7.6
-//
-// TOOLING:
-// https://github.com/mathiasbynens/regenerate
-// https://www.npmjs.com/package/regjsgen
-
-var regex = /^\s*(?:([A-Za-z$_][A-Za-z0-9$_]*)\s*\.)?\s*([A-Za-z$_][A-Za-z0-9$_]*)\s*\(\s*((?:[A-Za-z$_][A-Za-z0-9$_]*)|(?:\[\s*[A-Za-z$_][A-Za-z0-9$_]*\s*]))?((?:\s*,\s*(?:(?:[A-Za-z$_][A-Za-z0-9$_]*)|(?:\[\s*[A-Za-z$_][A-Za-z0-9$_]*\s*])))+)?\s*\)\s*$/;
-
-function parse(str) {
- var match = regex.exec(str);
- if (!match) {
- return null;
- }
-
- var callee;
- if (match[1]) {
- callee = {
- type: 'MemberExpression',
- object: match[1],
- member: match[2]
- };
- } else {
- callee = {
- type: 'Identifier',
- name: match[2]
- };
- }
-
- var args = match[4] || '';
- args = args.split(',');
- if (match[3]) {
- args[0] = match[3];
- }
- var trimmed = [];
- args.forEach(function (str) {
- var optional = false;
- str = str.replace(/\s+/g, '');
- if (!str.length) {
- return;
- }
- if (str.charAt(0) === '[' && str.charAt(str.length - 1) === ']') {
- optional = true;
- str = str.substring(1, str.length - 1);
- }
- trimmed.push({
- name: str,
- optional: optional
- });
- });
-
- return {
- callee: callee,
- args: trimmed
- };
-}
-
-function generate(parsed) {
- var callee;
- if (parsed.callee.type === 'MemberExpression') {
- callee = [
- parsed.callee.object,
- '.',
- parsed.callee.member
- ];
- } else {
- callee = [parsed.callee.name];
- }
- return callee.concat([
- '(',
- parsed.args.map(function (arg) {
- return arg.optional ? '[' + arg.name + ']' : arg.name;
- }).join(', '),
- ')'
- ]).join('');
-}