chore: use new links in generated types (#7102)

This commit is contained in:
Max Schmitt 2021-06-14 08:13:28 -07:00 committed by GitHub
parent dbf779b734
commit 64b23040dc
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 688 additions and 704 deletions

1373
types/types.d.ts vendored

File diff suppressed because it is too large Load Diff

View File

@ -17,6 +17,7 @@
//@ts-check
const path = require('path');
const os = require('os');
const toKebabCase = require('lodash/kebabCase')
const devices = require('../../src/server/deviceDescriptors');
const Documentation = require('../doclint/documentation');
const PROJECT_DIR = path.join(__dirname, '..', '..');
@ -39,9 +40,15 @@ let hadChanges = false;
documentation = parseApi(path.join(PROJECT_DIR, 'docs', 'src', 'api'));
documentation.filterForLanguage('js');
documentation.copyDocsFromSuperclasses([]);
const createMemberLink = (clazz, text) => {
const anchor = text.toLowerCase().split(',').map(c => c.replace(/[^a-z]/g, '')).join('-');
return `[${text}](https://playwright.dev/docs/api/class-${clazz.name.toLowerCase()}#${anchor})`;
const createMarkdownLink = (member, text) => {
const className = toKebabCase(member.clazz.name);
const memberName = toKebabCase(member.name);
let hash = null
if (member.kind === 'property' || member.kind === 'method')
hash = `${className}-${memberName}`.toLowerCase();
else if (member.kind === 'event')
hash = `${className}-event-${memberName}`.toLowerCase();
return `[${text}](https://playwright.dev/docs/api/class-${member.clazz.name.toLowerCase()}#${hash})`;
};
documentation.setLinkRenderer(item => {
const { clazz, member, param, option } = item;
@ -52,11 +59,11 @@ let hadChanges = false;
if (clazz)
return `[${clazz.name}]`;
if (member.kind === 'method')
return createMemberLink(member.clazz, `${member.clazz.varName}.${member.alias}(${renderJSSignature(member.argsArray)})`);
return createMarkdownLink(member, `${member.clazz.varName}.${member.alias}(${renderJSSignature(member.argsArray)})`);
if (member.kind === 'event')
return createMemberLink(member.clazz, `${member.clazz.varName}.on('${member.alias.toLowerCase()}')`);
return createMarkdownLink(member, `${member.clazz.varName}.on('${member.alias.toLowerCase()}')`);
if (member.kind === 'property')
return createMemberLink(member.clazz, `${member.clazz.varName}.${member.alias}`);
return createMarkdownLink(member, `${member.clazz.varName}.${member.alias}`);
throw new Error('Unknown member kind ' + member.kind);
});
documentation.generateSourceCodeComments();