diff options
author | Florian Dold <florian.dold@gmail.com> | 2019-03-27 21:01:33 +0100 |
---|---|---|
committer | Florian Dold <florian.dold@gmail.com> | 2019-03-27 21:01:33 +0100 |
commit | cc97a4dd2a967e1c2273bd5f4c5f49a5bf2e2585 (patch) | |
tree | 92c5d88706a6ffc654d1b133618d357890e7096b /node_modules/call-signature/index.js | |
parent | 3771b4d6b67b34c130f3a9a1a15f42deefdb2eda (diff) |
remove node_modules
Diffstat (limited to 'node_modules/call-signature/index.js')
-rw-r--r-- | node_modules/call-signature/index.js | 83 |
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(''); -} |