doc: describe return value as a part of method (#4608)

This commit is contained in:
Pavel Feldman 2020-12-05 15:29:16 -08:00 коммит произвёл GitHub
Родитель cdd9fd6b2e
Коммит 1717cbd3d5
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
4 изменённых файлов: 1087 добавлений и 726 удалений

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Просмотреть файл

@ -84,7 +84,7 @@ async function run() {
member.h4 = member.h2;
member.h2 = undefined;
let match = member.h4.match(/(event|method|namespace): (JS|CDP|[A-Z])([^.]+)\.(.*)/);
let match = member.h4.match(/(event|method|namespace|async method|): (JS|CDP|[A-Z])([^.]+)\.(.*)/);
if (!match)
continue;
@ -93,12 +93,22 @@ async function run() {
continue;
}
if (match[1] === 'method') {
if (match[1] === 'method' || match[1] === 'async method') {
const args = [];
const argChildren = [];
const returnContainer = [];
const nonArgChildren = [];
const optionsContainer = [];
for (const item of member.children) {
if (item.li && item.liType === 'default') {
const { type } = parseArgument(item.li);
if (match[1] === 'method')
item.li = `returns: ${type}`;
else
item.li = `returns: <[Promise]${type}>`;
returnContainer.push(item);
continue;
}
if (!item.h3) {
nonArgChildren.push(item);
continue;
@ -150,7 +160,13 @@ async function run() {
}
}
}
member.children = [...argChildren, ...optionsContainer, ...nonArgChildren];
if (match[1] === 'async method' && !returnContainer[0]) {
returnContainer.push({
li: 'returns: <[Promise]>',
liType: 'default'
});
}
member.children = [...argChildren, ...optionsContainer, ...returnContainer, ...nonArgChildren];
const tokens = [];
let hasOptional = false;

Просмотреть файл

@ -224,7 +224,9 @@ function printText(node, result) {
}
function parseArgument(line) {
const match = line.match(/`([^`]+)` (.*)/);
let match = line.match(/`([^`]+)` (.*)/);
if (!match)
match = line.match(/(returns): (.*)/);
if (!match)
throw new Error('Invalid argument: ' + line);
const name = match[1];