doc: support multidimensional arrays in type link
Currently, we have at least one multidimensional array in type signature: see `records` parameter in https://nodejs.org/api/dns.html#dns_dns_resolvetxt_hostname_callback Our type parser does not linkify these signatures properly. This PR tries to fix this. PR-URL: https://github.com/nodejs/node/pull/16207 Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Yuta Hiroto <hello@about-hiroppy.com>
This commit is contained in:
parent
70896c7e3b
commit
89425817d0
@ -58,6 +58,8 @@ const typeMap = {
|
|||||||
'URLSearchParams': 'url.html#url_class_urlsearchparams'
|
'URLSearchParams': 'url.html#url_class_urlsearchparams'
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const arrayPart = /(?:\[])+$/;
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
toLink: function(typeInput) {
|
toLink: function(typeInput) {
|
||||||
const typeLinks = [];
|
const typeLinks = [];
|
||||||
@ -69,12 +71,10 @@ module.exports = {
|
|||||||
if (typeText) {
|
if (typeText) {
|
||||||
let typeUrl = null;
|
let typeUrl = null;
|
||||||
|
|
||||||
// To support type[], we store the full string and use
|
// To support type[], type[][] etc., we store the full string
|
||||||
// the bracket-less version to lookup the type URL
|
// and use the bracket-less version to lookup the type URL
|
||||||
const typeTextFull = typeText;
|
const typeTextFull = typeText;
|
||||||
if (/\[]$/.test(typeText)) {
|
typeText = typeText.replace(arrayPart, '');
|
||||||
typeText = typeText.slice(0, -2);
|
|
||||||
}
|
|
||||||
|
|
||||||
const primitive = jsPrimitives[typeText.toLowerCase()];
|
const primitive = jsPrimitives[typeText.toLowerCase()];
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user