diff --git a/tools/doc/type-parser.js b/tools/doc/type-parser.js index 3f1ea9597c4fbe..c2bca80641152e 100644 --- a/tools/doc/type-parser.js +++ b/tools/doc/type-parser.js @@ -40,6 +40,8 @@ const typeMap = { 'http.ServerResponse': 'http.html#http_class_http_serverresponse', }; +const arrayPart = /(?:\[])+$/; + module.exports = { toLink: function(typeInput) { const typeLinks = []; @@ -51,12 +53,10 @@ module.exports = { if (typeText) { let typeUrl = null; - // To support type[], we store the full string and use - // the bracket-less version to lookup the type URL + // To support type[], type[][] etc., we store the full string + // and use the bracket-less version to lookup the type URL const typeTextFull = typeText; - if (/\[]$/.test(typeText)) { - typeText = typeText.slice(0, -2); - } + typeText = typeText.replace(arrayPart, ''); const primitive = jsPrimitives[typeText.toLowerCase()];