diff options
author | Rich Trott <rtrott@gmail.com> | 2016-12-24 14:49:58 -0800 |
---|---|---|
committer | Rich Trott <rtrott@gmail.com> | 2016-12-28 22:34:42 -0800 |
commit | 79117b98b946c582f9a083d95816add972e177d9 (patch) | |
tree | 35c673965050a23fe7989f006e44f76b17444dee /tools | |
parent | 407c1ad66c2dd22c7c91642f7fb16a65f634f491 (diff) | |
download | node-new-79117b98b946c582f9a083d95816add972e177d9.tar.gz |
tools: refactor json.js
* Simplify regular expressions (see below)
* Remove unneeded `parseYAML()` wrapper
* Remove unused callback argument
Regular expression simplifications include:
* Changing trailing `*?$/` to `*$/` because non-greedy matching to the
end of a line will not change behavior
* Change regexp beginnings like `/^(?:property:?\s*)?[^.\[]+` to the
equivalent `/[^.\]]+`
* For regular expressions changed per the above, remove
case-insensitivity if it no longer affects the regexp
PR-URL: https://github.com/nodejs/node/pull/10442
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Italo A. Casas <me@italoacasas.com>
Diffstat (limited to 'tools')
-rw-r--r-- | tools/doc/json.js | 22 |
1 files changed, 8 insertions, 14 deletions
diff --git a/tools/doc/json.js b/tools/doc/json.js index f8210ef17f..3e329a965f 100644 --- a/tools/doc/json.js +++ b/tools/doc/json.js @@ -102,7 +102,7 @@ function doJSON(input, filename, cb) { current.list.push(tok); current.list.level = 1; } else if (type === 'html' && common.isYAMLBlock(tok.text)) { - current.meta = parseYAML(tok.text); + current.meta = common.extractAndParseYAML(tok.text); } else { current.desc = current.desc || []; if (!Array.isArray(current.desc)) { @@ -302,10 +302,6 @@ function processList(section) { delete section.list; } -function parseYAML(text) { - return common.extractAndParseYAML(text); -} - // textRaw = "someobject.someMethod(a[, b=100][, c])" function parseSignature(text, sig) { var params = text.match(paramExpr); @@ -314,7 +310,7 @@ function parseSignature(text, sig) { params = params.split(/,/); var optionalLevel = 0; var optionalCharDict = {'[': 1, ' ': 0, ']': -1}; - params.forEach(function(p, i, _) { + params.forEach(function(p, i) { p = p.trim(); if (!p) return; var param = sig.params[i]; @@ -544,14 +540,12 @@ function deepCopy_(src) { // these parse out the contents of an H# tag var eventExpr = /^Event(?::|\s)+['"]?([^"']+).*$/i; -var classExpr = /^Class:\s*([^ ]+).*?$/i; -var propExpr = /^(?:property:?\s*)?[^.]+\.([^ .()]+)\s*?$/i; -var braceExpr = /^(?:property:?\s*)?[^.\[]+(\[[^\]]+\])\s*?$/i; -var classMethExpr = - /^class\s*method\s*:?[^.]+\.([^ .()]+)\([^)]*\)\s*?$/i; -var methExpr = - /^(?:method:?\s*)?(?:[^.]+\.)?([^ .()]+)\([^)]*\)\s*?$/i; -var newExpr = /^new ([A-Z][a-zA-Z]+)\([^)]*\)\s*?$/; +var classExpr = /^Class:\s*([^ ]+).*$/i; +var propExpr = /^[^.]+\.([^ .()]+)\s*$/; +var braceExpr = /^[^.[]+(\[[^\]]+\])\s*$/; +var classMethExpr = /^class\s*method\s*:?[^.]+\.([^ .()]+)\([^)]*\)\s*$/i; +var methExpr = /^(?:[^.]+\.)?([^ .()]+)\([^)]*\)\s*$/; +var newExpr = /^new ([A-Z][a-zA-Z]+)\([^)]*\)\s*$/; var paramExpr = /\((.*)\);?$/; function newSection(tok) { |